首頁 >Java >Java入門 >java>>>和>>區別

java>>>和>>區別

(*-*)浩
(*-*)浩原創
2019-11-11 11:54:142483瀏覽

java>>>和>>區別

>>:帶符號右移。正數右移高位補0,負數右移高位補1。 例如:

4 >> 1,結果是2;-4 >> 1,結果是-2。 -2 >> 1,結果是-1。

>>>:無符號右移。無論是正數還是負數,高位通通補0。        (建議學習:java課程

對於正數而言,>>和>>>沒差別。

對於負數而言,-2 >>> 1,結果是2147483647(Integer.MAX_VALUE),-1 >>> 1,結果是2147483647(Integer.MAX_VALUE )。

以下程式碼可以判斷兩個數的符號是否相等

return ((a >> 31) ^ (b >> 31)) == 0;

例如:

-12 >> 3 即帶符號右移3位,結果是:1111  1111  1111  1111  1111  1111  1111  1110,十進位為: -2;

#12 >零,為:0001  1111  1111  1111  1111  1111  1111  1110,十進位為:536870910。

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

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