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)合起來(lái)用
a<<=2表示a左移2位后的值再賦給a
4.補(bǔ)充一下:java 虛擬機(jī)屏蔽了大端小端的問(wèn)題,內(nèi)部都是小端。
相關(guān)文章:
1. moment轉(zhuǎn)化時(shí)間戳出現(xiàn)Invalid Date的問(wèn)題及解決2. python爬蟲實(shí)戰(zhàn)之制作屬于自己的一個(gè)IP代理模塊3. Java剖析工具YourKit 發(fā)布5.0版本4. 跟我學(xué)XSL(一)第1/5頁(yè)5. 為什么你的android代碼寫得這么亂6. 使用JSP技術(shù)實(shí)現(xiàn)一個(gè)簡(jiǎn)單的在線測(cè)試系統(tǒng)的實(shí)例詳解7. Python中內(nèi)建模塊collections如何使用8. 解決VUE項(xiàng)目localhost端口服務(wù)器拒絕連接,只能用127.0.0.1的問(wèn)題9. 開發(fā)效率翻倍的Web API使用技巧10. 動(dòng)態(tài)設(shè)置django的model field的默認(rèn)值操作步驟
