移位時,首先搞清楚正數的原碼、補碼,負數的原碼、補碼以及在計算機中正數的二進制表示為原碼還是補碼?
可先看這篇 : 原碼,反碼,補碼的了解-Java
>>與>>>都屬于位運算符,兩者差別為 : 右移時,所填充的高位不同.
>> :右移運算符1
含義:将二進制位進行右移,
用符号位填充高位
符号位:正數符号位為0; 負數符号位為1.
>>>:無符号右移運算符
含義:将二進制位進行右移,
用0填充高位
<<:左移運算符2
含義:将二進制位進行左移
Note:沒有<<<運算符
移位運算符的應用
請看該文:計算二進制中1的個數-Java
[參考文獻]
- ↩︎
- 左移一位相當于将該數乘以2. ↩︎