JAVA 右移運算符>>和>>>


java提供兩種右移運算符,屬於位運算符。位運算符用來對二進制位進行操作。
>>  :算術右移運算符,也稱帶符號右移。用最高位填充移位后左側的空位。
>>>:邏輯右移運算符,也稱無符號右移。只對位進行操作,用0填充左側的空位。
 
表達式為:
r = e1 >> e2;
r = e1 >>> e2;
表示把數e1向右移動e2位。
 
運算規則:
>>  :按二進制形式把所有的數字向右移動對應位數,低位移出(舍棄),高位的空位補符號位,即正數補零,負數補1。 符號位不變。
>>>:按二進制形式把所有的數字向右移動對應位數,低位移出(舍棄),高位的空位補零。對於正數來說和帶符號右移相同,對於負數來說不同。
 
按上一篇,-1在32位二進制中表示為:
11111111 11111111 11111111 11111111
-1>>1:按位右移,符號位不變,仍舊得到
11111111 11111111 11111111 11111111
因此值仍為-1
 
而-1>>>1的結果為  01111111 11111111 11111111 11111111


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM