>”符號是什么意思?很多新手對此不是很清楚,為了幫助大家解決這個難題,下面小編將為大家詳細講解,有這方面需求的人可以來學習下,希望你能有所收..."/>
溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

java中的“>>”符號是什么意思

發(fā)布時間:2020-06-26 11:16:06 來源:億速云 閱讀:168 作者:Leah 欄目:編程語言

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è)資訊頻道,感謝您對億速云的支持。

向AI問一下細節(jié)

免責聲明:本站發(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)容。

AI