JavaScirpt 位运算
1.按位与 &
按位与将两边的操作数转换成二进制,每位上的数字只有对应的位上都为1时,该为的结果才是1,否则为0
作用:判断整数的奇偶,利用了在二进制中偶数的末位都为0的这一特征
十进制 二进制
5 101
3 011
5&3 001
2.按位或 |
按位或将两边的操作数转换成二进制,比较每一位中,只要有一个为1,结果就是1
作用:向下取整。
十进制 二进制
5 101
3 011
5|3 111
3.按位 左移 << 将二进制的位数左移n位
按位右移 >> 将二进制的位数左移n位(不够的用0补齐)
4.异或 ^
将两边的操作数转换成二进制的数字,每一位上只有一个为1的时候,结果才为1
十进制 二进制
5 101
3 011
5^3 110
作用为两个数的值变换,比如:
n1=5,n2=3; n1=n1 ^n2=110(二进制)=6 n2=n2 ^n2=101(二进制)=5 n1=n1 ^n2=101(二进制)=5