天天看點

Java中>>與>>>的差別

移位時,首先搞清楚正數的原碼、補碼,負數的原碼、補碼以及在計算機中正數的二進制表示為原碼還是補碼?

可先看這篇 : ​​原碼,反碼,補碼的了解-Java​​

>>與>>>都屬于位運算符,兩者差別為 : 右移時,所填充的高位不同.

>> :右移運算符​​1​​

含義:将二進制位進行右移,​

​用符号位填充高位​

符号位:正數符号位為0; 負數符号位為1.

>>>:無符号右移運算符

含義:将二進制位進行右移,​

​用0填充高位​

<<:左移運算符​​2​​

含義:将二進制位進行左移

Note:沒有<<<運算符

移位運算符的應用

請看該文:​​計算二進制中1的個數-Java​​

[參考文獻]

  1. ​​↩︎​​
  2. 左移一位相當于将該數乘以2. ↩︎