java中的>>>和>>>=是什么意思
java中的>>>和>>>=是什么意思
慕工程0101907
2018-07-29 00:00:37
TA貢獻1797條經驗 獲得超6個贊
“>>>”運算符所作的是無符號的位移處理,它不會將所處理的值的最高位視為正負符號,所以作位移處理時,會直接在空出的高位填入0。當我們要作位移的原始值并非代表數值時(例如:表示顏色圖素的值,最高位并非正負號),可能就會需要使用此種無符號的位移。比如:
-10>>>2=1073741821
-10=1111 1111 1111 1111 1111 1111 1111 0110 (不管原來的“符號”位的值(一長串1),空上的全部直接填0)
0011 1111 1111 1111 1111 1111 1111 1101=1037341821
~ 按位非(NOT)(一元運算)
& 按位與(AND)
| 按 位或(OR)
^ 按位異或(XOR)
>> 右移
>>> 右移,左邊空出的位以0填 充
運算符 結果
<< 左移
&= 按位與賦值
|= 按位或賦值
^= 按 位異或賦值
>>= 右移賦值
>>>= 右移賦值,左邊空出的位以0填充
<<= 左 移賦值
舉報