java學習之旅-5

來源:互聯網
上載者:User

標籤:print   符號   操作   位操作   strong   意思   移位   沒有   指定   

說了幾個簡單的位元運算符,接下來看看稍微複雜點的另外三個吧:

<<:

將運算元的二進位碼整體左移指定位元,左移之後的空使用‘0’來補充。剛接觸這個所謂的“移位操作”,不一定能理解二進位碼整體移動指定位元是什麼意思,所以下面用代碼直觀地表示一下:

System.out.println(2 << 3);//表示2的二進位碼整體左移3位,結果為16。2的二進位:00000000_00000000_00000000_00000010移位後的二進位:00000_00000000_00000000_00000010左移之後,右端缺少3位,使用‘0’來補充空位,結果如下:16的二進位:00000_00000000_00000000_00000010000
>>:

將運算元的二進位碼整體右移指定位元,右移之後的空使用‘符號位’來補充。同樣地也以代碼來解釋:

System.out.println(16 >> 3);//表示16的二進位代碼整體右移3位,結果為2。16的二進位:00000_00000000_00000000_00000010000移位後的二進位:00000_00000000_00000000_00000010右移之後,左端缺少3位,使用符號位(正數為‘0’,負數為‘1’)來補充空位,結果如下:2的二進位:00000000_00000000_00000000_00000010
>>>:

將運算元的二進位碼整體右移指定位元,右移之後的空位使用‘0’來補充(注意:沒有“<<<”!!!)。這個操作其實和“>>”一樣,只是無論操作的數為正或負,均使用‘0’來補充空位。

System.out.println(-16 >>> 3);//表示-16的二進位碼整體右移3位,結果為536870910。-16的二進位:11111111_11111111_11111111_11110000移位後的二進位:11111111_11111111_11111111_11110右移三位之後,左端空缺三位,需要用‘0’來補充,結果如下:536870910的二進位:00011111111_11111111_11111111_11110

java學習之旅-5

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.