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中>>什麼意思?的詳細內容。更多資訊請關注PHP中文網其他相關文章!