java中的>>>和>>>=

  • Post author:
  • Post category:java


“>>>”运算符所作的是无符号的位移处理,它不会将所处理的值的最高位视为正负符号,所以作位移处理时,会直接在空出的高位填入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填充
<<= 左 移赋值

转载于:https://www.cnblogs.com/Yxxxxx/p/6854745.html