& 与
| 或
^ 异或
~ 取反
位与运算
12和8
与运算
0000 0000 0000 1100
0000 0000 0000 1000
&
------------------------------------
0000 0000 0000 1000
位或运算
0000 0000 0000 1100
0000 0000 0000 1000
|
------------------------------------
0000 0000 0000 1100
位异或运算
31和22运行异或运算
0000 0000 0001 1111
0000 0000 0001 0110
^
-----------------------------------
0000 0000 0000 1001
位取反运算
123
0000 0000 0111 1011
~
------------------------------------
1111 1111 1000 0100
结果-124
左移 <<
1 2^0 0000 0000 0000 0001
1<<1 2^1 0000 0000 0000 0010
1<<2 2^2 0000 0000 0000 0100
左移太多会溢出,第一位若变为1则数值变为负数
>>
右移同左移相反,正数高位空缺补0 负数高位空缺补1 右边溢出舍去
无符号右移
>>>