您好,登錄后才能下訂單哦!
這篇文章主要介紹java移位符的類別有哪些,文中介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們一定要看完!
移位運(yùn)算符是位操作運(yùn)算符的一種。移位運(yùn)算符可以在二進(jìn)制的基礎(chǔ)上對數(shù)字進(jìn)行平移。按照平移的方向和填充數(shù)字的規(guī)則分為三種:<<(左移)、>>(右移)和>>>(無符號(hào)右移)。
java移位符的類別
<< : 左移運(yùn)算符,num<<1,相當(dāng)于num乘以2
>> : 右移運(yùn)算符,num>>1,相當(dāng)于num除以2
>>> : 無符號(hào)右移,忽略符號(hào)位,空位都以0補(bǔ)齊,(計(jì)算機(jī)中數(shù)字以補(bǔ)碼存儲(chǔ),首位為符號(hào)位)。
如:a = 00110111,則a>>2 =00001101,b=11010011,則b>>2 = 11110100;
如:a = 00110111,則a>>>2 =00001101,b=11010011,則b>>>2= 00110100。
//Integer.toBinaryString()是將數(shù)字用二進(jìn)制格式顯示
inti=-10;
System.out.println(Integer.toBinaryString(i));
//左移兩位
intj=-10<<2;
System.out.println(Integer.toBinaryString(j));
//右移兩位
intm=-10>>2;
System.out.println(Integer.toBinaryString(m));
//無符號(hào)右移
intn=-10>>>2;
System.out.println(Integer.toBinaryString(n));
java移位符運(yùn)算結(jié)果為:
11111111111111111111111111110110
11111111111111111111111111011000
11111111111111111111111111111101
111111111111111111111111111101(省略了首位兩個(gè)0)
無符號(hào)右移的規(guī)則只記住一點(diǎn):數(shù)字右移,左側(cè)空出來的高位用0補(bǔ)齊。
以上是“java移位符的類別有哪些”這篇文章的所有內(nèi)容,感謝各位的閱讀!希望分享的內(nèi)容對大家有幫助,更多相關(guān)知識(shí),歡迎關(guān)注億速云行業(yè)資訊頻道!
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。