位运算:#
在学习位运算之前需要了解十进制如何转二进制,二进制如何转十进制,这里说明简单计算方式:要从右到左用二进制的每个数去乘以 2 的相应次方,小数点后则是从左往右
- 例如:二进制如何转十进制
所以总结起来通用公式为: - 例如:十进制如何转二进制
十进制整数转换为二进制整数采用除 2 取余,逆序排列法。具体做法:用 2 整除十进制整数,可以得到一个商和余数;再用 2 去除商,又会得到一个商和余数,如此进行,直到商为小于 1 时为止,然后把先得到的余数作为二进制数的低位有效位,后得到的余数作为二进制数的高位有效位,依次排列起来。如:255=(11111111) B
左移 <<:#
10 << 1; //-> 10在二进制表示为1010,计算左移1位等于10100,然后再次转换十进制得到20
右移 >>:#
13 >> 1; // -> 十进制13看成12+1,12在二进制表示为1100,计算右移1位等于110,然后再次转换十进制得到
按位操作:#
按位与:#
每一位都为 1,结果才为 1, 否则为 0
10 & 8; // -> 1010 & 1000 == 1000 -> 8
按位或:#
其中一位为 1,结果就是 1, 否则为 0
10 | 8; // -> 1010 | 1000 == 1010 -> 10
按位异或:#
每一位都不同,结果才为 1, 否则为 0
15 ^ 5; // -> 1111 ^ 0101 == 1010 -> 10