首頁 >Java >java教程 >java中>>什麼意思?

java中>>什麼意思?

青灯夜游
青灯夜游原創
2019-11-19 14:35:539434瀏覽

java中>>什麼意思?

java中>>什麼意思?

在java中,是一個「有符號」右移位運算子;它會將運算子左邊的運算物件向右移動運算子右側指定的位數。 運算子使用了「符號擴充」:若值為正,則在高位插入0;若值為負,則在高位插入1。

1、它的通用格式如下:

value >> num

num 指定要移位值value 移動的位數。
右移的規則只記住一點:符號位元不變,左邊補上符號位元

2、運算規則:

以二進位形式把所有的數字向右移動對應的位數,低位移出(捨棄),高位的空位補符號位,即正數補零,負數補1

當右移的運算數是byte 和short類型時,將自動把這些型別擴大為int 型。

例如,如果要移走的值為負數,每一次右移都在左邊補1,如果要移走的值為正數,每一次右移都在左邊補0,這叫做符號位元擴展(保留符號位元)(sign extension ),在進行右移

操作時用來保持負數的符號。

3、數學意義

右移一位相當於除2,右移n位相當於除以2的n次方。

4、計算流程

11 >>2(11为int型)

1)、11的二進位形式為:0000 0000 0000 0000 0000 0000 0000 1011

2)、把低位的最後兩個數字移出,因為數字是正數,所以在高位補零。

3)、最終結果是0000 0000 0000 0000 0000 0000 0000 0010。

4)、轉換為十進位是3。

35 >> 2(35为int型)

1)、35轉換為二進位:0000 0000 0000 0000 0000 0000 0010 0011

#2)、把低位的最後兩個數字移出:0000 0000 0000

##3)、轉換為十進位: 8

推薦教學:

Java教學

以上是java中>>什麼意思?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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