& 与运算
2 & 3
2的二进制 是10
3的二进制是 110000 0010
0000 0011
0000 0010 //结果为2
总结来说就是有0则0,无0则1;
| 或运算
2 | 30000 0010
0000 0011
0000 0011 //结果为3
总结来说就是有1则1,无1则0;
~ 取反运算
取反比如10进制的2
0000 0010
1111 1101
总结来说就是1变0,0变1;
^ 异或
2 ^ 3
0000 0010
0000 0011
0000 0001
总结来说就是相同为0,不同为1;
<< 左移运算
2 << 2位
0000 0010
0000 1000 结果为 8
往左边移动2位,新的位置补0
>> 右移运算
2 >> 2位
0000 0010
0000 0000 结果为 0
往右边移动2位,新的位置补0