您好,登錄后才能下訂單哦!
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 0000 0000 0000 0000 1000
3)、轉換為十進制: 8
看完上述內容是否對您有幫助呢?如果還想對相關知識有進一步的了解或閱讀更多相關文章,請關注億速云行業資訊頻道,感謝您對億速云的支持。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。