java逻辑移位和算术移位,关于对移位运算的理解
標(biāo)簽:
之前在《計算機(jī)組成原理》這門課中學(xué)習(xí)了很多,其中包括二進(jìn)制數(shù)的移位運算。當(dāng)時并不理解他們用來作甚,迷迷糊糊的狀態(tài),學(xué)了都不知道為什么要學(xué)。什么東西總是到了需要用到的時候,才明白,哦,原來乳齒啊!以下是我在java編程中對移位運算的理解和總結(jié):
在Java語言中,二進(jìn)制數(shù)使用補(bǔ)碼表示,最高位為符號位,正數(shù)的符號位為0,負(fù)數(shù)為1。補(bǔ)碼的表示需要滿足如下要求。
(1)正數(shù)的最高位為0,其余各位代表數(shù)值本身(二進(jìn)制數(shù))。
(2)對于負(fù)數(shù),通過對該數(shù)絕對值的補(bǔ)碼按位取反,再對整個數(shù)加1。
一、算術(shù)移位:改變數(shù)值大小,進(jìn)行除2或者乘2。
移位規(guī)則:
<< 左移,低位補(bǔ)0;
>>?右移補(bǔ)高位數(shù)值(高位是0則補(bǔ)0,是1則補(bǔ)1)
二、邏輯移位運算:不用于算術(shù)運算,常用于與‘&’結(jié)合使用截取數(shù)值
移位規(guī)則:不論左移還是右移,均補(bǔ)零
eg: 取0x56ff45的高8位
int color = 0x56ff45;
int r = (color>>>16) & 0xff;
System.out.println(r);
標(biāo)簽:
總結(jié)
以上是生活随笔為你收集整理的java逻辑移位和算术移位,关于对移位运算的理解的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: php记录网站访问,PHP简单实现记录网
- 下一篇: php elasticsearch ik