java 左移和右移
今天搜到一個(gè)比較好用的在線編譯器,希望和大家分享。
除了java還有c++....,地址是http://www.tutorialspoint.com/compile_java_online.php
另外今天再次復(fù)習(xí)了java左移和右移,這里針對(duì)負(fù)數(shù)舉個(gè)例子:
正數(shù)和負(fù)數(shù)在java中是以補(bǔ)碼的形式表示
例如-2 在計(jì)算機(jī)中表示為 11111111 11111111 11111111 11111110
1.左移
-2<<2 即-2左移2位的結(jié)果是:11111111 11111111 11111111 11111000 (低位補(bǔ)0)
上面是補(bǔ)碼,最高位為1表明這是負(fù)數(shù),負(fù)數(shù)的補(bǔ)碼是對(duì)正數(shù)的原碼進(jìn)行:“最高位為1,其余各位取反,最后加1”得到的。
所以反推一下,就可以知道 -2<<2的結(jié)果實(shí)際上表示的數(shù)是10000000 00000000 00000000 00001000 (-8)
2.右移
高位是1則補(bǔ)1,高位是0則補(bǔ)0
-2>>2 : 11111111 11111111 11111111 11111111
10000000 00000000 00000000 00000001 (-1)
3.移位操作符可以和'='聯(lián)合起來用
a<<=2表示a左移2位后的值再賦給a
4.補(bǔ)充一下:java 虛擬機(jī)屏蔽了大端小端的問題,內(nèi)部都是小端。
相關(guān)文章:
1. 如何用python開發(fā)Zeroc Ice應(yīng)用2. Python中re模塊的常用方法總結(jié)3. ASP錯(cuò)誤捕獲的幾種常規(guī)處理方式4. python基于opencv批量生成驗(yàn)證碼的示例5. npm下載慢或下載失敗問題解決的三種方法6. ASP編碼必備的8條原則7. 使用Spry輕松將XML數(shù)據(jù)顯示到HTML頁的方法8. python+requests+pytest接口自動(dòng)化的實(shí)現(xiàn)示例9. python用pyecharts實(shí)現(xiàn)地圖數(shù)據(jù)可視化10. python軟件測(cè)試Jmeter性能測(cè)試JDBC Request(結(jié)合數(shù)據(jù)庫)的使用詳解
