位运算符:
参考:https://blog.csdn.net/weixin_42216574/article/details/82885102
&:按位与
按位与操作 0&0=0; 0&1=0; 1&0=0; 1&1=1
10&9: 0000 1010 & 0000 1001 = 0000 1000 = 8
|:按位或
运算规则:0|0=0; 0|1=1; 1|0=1; 1|1=1;
0000 0011 | 0000 0101 = 0000 0111 因此,3|5的值得7
^:按位异或
运算规则:0^0=0; 0^1=1; 1^0=1; 1^1=0;
~:按位取反
运算规则:~1=0; ~0=1;
<<:左移动:
a = a << 2 将a的二进制位左移2位,右补0,
‘>>:右移动:
例如,下面的代码被求值后,temp 的值是 -4:
var temp = -14 >> 2
-14 (即二进制的 11110010)右移两位等于 -4 (即二进制的 11111100)。
位运算符都是把数字当作二进制数进行运算并不是只能做二进制数计算,如果是其他进制会自动转换成二进制数