Java 中>>和>>>的區別


Java 中>>和>>>的區別
Java中的位運算符:
>>表示右移,如果該數為正,則高位補0,若為負數,則高位補1;
>>>表示 無符號右移,也叫邏輯右移,即若該數為正,則高位補0,而若該數為負數,則右移后高位同樣補0。
表達式為:
result = exp1 >> exp2;
result = exp2 >>> exp2;
表示把數exp1向右移動exp2位。
例如:
res = 20 >> 2; 
20的二進制為 0001 0100,右移2位后為 0000 0101,則結果就為 res = 5;
res = -20 >> 2;
-20的二進制為其正數的補碼加1,即 1110 1011,右移2位后為 1111 1100,結果為 res = -6;
而對於>>>符號而言:
res = 20 >>> 2; 的結果與 >> 相同;
res = -20 >> 2;
-20的二進制為 1110 1011,右移2位,此時高位補0,即 0011 1010,結果為 res = 58;
補充:
<< 是與>>對應的左移運算符,表示將exp1向左移動exp2位,在低位補0。其實,向左移動n位,就相當於乘以2^n。
左移沒有<<<運算符!


免責聲明!

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



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