首頁  >  文章  >  Java  >  java中>>>和>>的區別

java中>>>和>>的區別

王林
王林原創
2019-11-18 10:44:323140瀏覽

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;

補充:

4841fbce45742acfaaf4d23aae1269b3>對應的左移運算符,表示將exp1向左移動exp2位,在低位補0。其實,向左移動n位,就相當於乘以2^n。

左移沒有<<<運算子!

推薦教學:Java教學

以上是java中>>>和>>的區別的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
上一篇:java string亂碼下一篇:java string亂碼