java 移位运算符_Java的移位运算符
1、左移運(yùn)算符:<<
丟棄左邊指定位數(shù),右邊補(bǔ)0。
注意:
當(dāng)int類型進(jìn)行左移操作時(shí),左移位數(shù)大于等于32位操作時(shí),會(huì)先求余(%)后再進(jìn)行左移操作。也就是說(shuō)左移32位相當(dāng)于不進(jìn)行移位操作,左移40位相當(dāng)于左移8位(40%32=8)。當(dāng)long類型進(jìn)行左移操作時(shí),long類型在二進(jìn)制中的體現(xiàn)是64位的,因此求余操作的基數(shù)也變成了64,也就是說(shuō)左移64位相當(dāng)于沒(méi)有移位,左移72位相當(dāng)于左移8位(72%64=8)。
其它幾種整形byte,short移位前會(huì)先轉(zhuǎn)換為int類型(32位)再進(jìn)行移位。
2、右移運(yùn)算符:>>
丟棄右邊指定位數(shù),左邊補(bǔ)上符號(hào)位。
注意:
和左移一樣,int類型移位大于等于32位時(shí),long類型大于等于64位時(shí),會(huì)先做求余處理再位移處理,byte,short移位前會(huì)先轉(zhuǎn)換為int類型(32位)再進(jìn)行移位。
3、無(wú)符號(hào)右移運(yùn)算符:>>>
丟棄右邊指定位數(shù),左邊補(bǔ)上0。
無(wú)符號(hào)右移運(yùn)算符>>>和右移運(yùn)算符>>是一樣的,只不過(guò)右移時(shí)左邊是補(bǔ)上符號(hào)位,而無(wú)符號(hào)右移運(yùn)算符是補(bǔ)上0,也就是說(shuō),對(duì)于正數(shù)移位來(lái)說(shuō),>>>等同于>>,負(fù)數(shù)通過(guò)此移位運(yùn)算符能移位成正數(shù)。
總結(jié)
以上是生活随笔為你收集整理的java 移位运算符_Java的移位运算符的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 微软:将向安卓和苹果iOS平台推出杀毒软
- 下一篇: java常见面试题:Java程序员面试题