java 左移和右移
今天搜到一個(gè)比較好用的在線編譯器,希望和大家分享。
除了java還有c++....,地址是http://www.tutorialspoint.com/compile_java_online.php
另外今天再次復(fù)習(xí)了java左移和右移,這里針對負(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ǔ)碼是對正數(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. msxml3.dll 錯(cuò)誤 800c0019 系統(tǒng)錯(cuò)誤:-2146697191解決方法2. ASP中解決“對象關(guān)閉時(shí),不允許操作。”的詭異問題……3. 原生js XMLhttprequest請求onreadystatechange執(zhí)行兩次的解決4. asp在iis7報(bào)錯(cuò)行號不準(zhǔn)問題的解決方法5. HTML中的XML數(shù)據(jù)島記錄編輯與添加6. 5個(gè)HTML5的常用本地存儲(chǔ)方式詳解與介紹7. asp批量添加修改刪除操作示例代碼8. 匹配模式 - XSL教程 - 49. 三個(gè)不常見的 HTML5 實(shí)用新特性簡介10. CSS代碼檢查工具stylelint的使用方法詳解
