自增自減運(yùn)算符詳解 關(guān)于二進(jìn)制的位移運(yùn)算?
關(guān)于二進(jìn)制的位移運(yùn)算?好像是取反加1,也就是說需要負(fù)數(shù),也就是用相應(yīng)的正數(shù),取反14 0000 0100取反1111 1011 1111 11003 0000 0011取反1111 1100 1 11
關(guān)于二進(jìn)制的位移運(yùn)算?
好像是取反加1,也就是說需要負(fù)數(shù),也就是用相應(yīng)的正數(shù),取反1
4 0000 0100取反1111 1011 1111 1100
3 0000 0011取反1111 1100 1 1111 1101
這種方法叫做補(bǔ)碼運(yùn)算。將負(fù)數(shù)轉(zhuǎn)換成正數(shù)就是對1求反的補(bǔ)碼運(yùn)算
將負(fù)數(shù)二進(jìn)制轉(zhuǎn)換成十進(jìn)制就是對負(fù)數(shù)二進(jìn)制進(jìn)行補(bǔ)碼運(yùn)算,得到相應(yīng)的正數(shù),并在前面加一個(gè)負(fù)號,得到相應(yīng)的十進(jìn)制數(shù)
20 0001 0100來執(zhí)行補(bǔ)碼運(yùn)算,對1110 1011求反,然后對1110 1100取反,這是-20的二進(jìn)制數(shù)
-20>>3算術(shù)右移3位1111 1101這是-3對應(yīng)的二進(jìn)制數(shù)
因?yàn)樗秦?fù)數(shù),第一位左邊的位是1,所以將3位移到右邊相當(dāng)于在左邊加3位,在右邊減去3位。