更新時間:2020-07-13 16:18:06 來源:動力節(jié)點 瀏覽2327次
移位運算符是位操作運算符的一種。
移位運算符可以在二進制的基礎(chǔ)上對數(shù)字進行平移。
按照平移的方向和填充數(shù)字的規(guī)則分為三種:<<(左移)、>>(右移)和>>>(無符號右移)。
<<:左移運算符,num<<1,相當于num乘以2
>>:右移運算符,num>>1,相當于num除以2
>>>:無符號右移,忽略符號位,空位都以0補齊,(計算機中數(shù)字以補碼存儲,首位為符號位)。
如:a=00110111,則a>>2=00001101,b=11010011,則b>>2=11110100;
如:a=00110111,則a>>>2=00001101,b=11010011,則b>>>2=00110100。
//Integer.toBinaryString()是將數(shù)字用二進制格式顯示
int?i?=?-10;
System.out.println(Integer.toBinaryString(i));
//左移兩位
int?j?=?-10<<2;
System.out.println(Integer.toBinaryString(j));
//右移兩位
int?m?=?-10>>2;
System.out.println(Integer.toBinaryString(m));
//無符號右移
int?n?=?-10>>>2;
System.out.println(Integer.toBinaryString(n));
運算結(jié)果為:
11111111111111111111111111110110
11111111111111111111111111011000
11111111111111111111111111111101
111111111111111111111111111101(省略了首位兩個0)
無符號右移的規(guī)則只記住一點:數(shù)字右移,左側(cè)空出來的高位用0補齊。
以上就是動力節(jié)點java培訓(xùn)機構(gòu)的小編針對“編程基礎(chǔ)學(xué)習(xí)之Java的三種移位運算符”的內(nèi)容進行的回答,希望對大家有所幫助,如有疑問,請在線咨詢,有專業(yè)老師隨時為你服務(wù)。
相關(guān)閱讀
初級 202925
初級 203221
初級 202629
初級 203743