>”符號是什么意思?很多新手對此不是很清楚,為了幫助大家解決這個難題,下面小編將為大家詳細講解,有這方面需求的人可以來學習下,希望你能有所收..."/>
您好,登錄后才能下訂單哦!
java中的“>>”符號是什么意思?很多新手對此不是很清楚,為了幫助大家解決這個難題,下面小編將為大家詳細講解,有這方面需求的人可以來學習下,希望你能有所收獲。
在java中,>>
是一個“有符號”右移位運算符;它會將運算符左邊的運算對象向右移動運算符右側(cè)指定的位數(shù)。>>
運算符使用了“符號擴展”:若值為正,則在高位插入0;若值為負,則在高位插入1。
1、它的通用格式如下所示:
value >> num
num 指定要移位值value 移動的位數(shù)。
右移的規(guī)則只記住一點:符號位不變,左邊補上符號位
2、運算規(guī)則:
按二進制形式把所有的數(shù)字向右移動對應的位數(shù),低位移出(舍棄),高位的空位補符號位,即正數(shù)補零,負數(shù)補1
當右移的運算數(shù)是byte 和short類型時,將自動把這些類型擴大為 int 型。
例如,如果要移走的值為負數(shù),每一次右移都在左邊補1,如果要移走的值為正數(shù),每一次右移都在左邊補0,這叫做符號位擴展(保留符號位)(sign extension ),在進行右移
操作時用來保持負數(shù)的符號。
3、數(shù)學意義
右移一位相當于除2,右移n位相當于除以2的n次方。
4、計算過程
11 >>2(11為int型)
1)、11的二進制形式為:0000 0000 0000 0000 0000 0000 0000 1011
2)、把低位的最后兩個數(shù)字移出,因為該數(shù)字是正數(shù),所以在高位補零。
3)、最終結(jié)果是0000 0000 0000 0000 0000 0000 0000 0010。
4)、轉(zhuǎn)換為十進制是3。
35 >> 2(35為int型)
1)、35轉(zhuǎn)換為二進制:0000 0000 0000 0000 0000 0000 0010 0011
2)、把低位的最后兩個數(shù)字移出:0000 0000 0000 0000 0000 0000 0000 1000
3)、轉(zhuǎn)換為十進制: 8
看完上述內(nèi)容是否對您有幫助呢?如果還想對相關(guān)知識有進一步的了解或閱讀更多相關(guān)文章,請關(guān)注億速云行業(yè)資訊頻道,感謝您對億速云的支持。
免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。