平时读源码用到的Java位操作符
2018-08-22 本文已影响19人
阿波罗程序猿
-
<<
右移
2 << 3 输出 16, 相当于 2的3次方再乘以2
-
>>
左移
2 >> 3 输出 0,相当于2的3次方分之一再乘以2
-
>>>
无符号左移
2 >> 3 输出 0,相当于2的3次方分之一再乘以2
-
|
或,对应值有1为1,没有1为0
0 | 0 = 0
0 | 1 = 1
1 | 1 = 1
-
&
与,对应值有0为0,没有0为1
0 & 0 = 0
0 & 1 = 0
1 & 1 = 1
-
^
异或,相同为0,不同为1
0 ^ 0 = 0
0 ^ 1 = 1
1 ^ 1 = 0
-
~
取反
~ 0 = 1
~ 1 = 0