位運(yùn)算:負(fù)數(shù)右移與無(wú)符號(hào)右移運(yùn)算小結(jié)

該作者講述的很詳細(xì)。

對(duì)于帶符號(hào)右移,若為負(fù)數(shù),則在存儲(chǔ)時(shí)首位表示符號(hào)位,其值為1,表示該值是負(fù)數(shù)的移位,在移位過(guò)程中,高位補(bǔ)1,若符號(hào)位是0,表示是正數(shù),在移位過(guò)程中高位補(bǔ)零,兩者的前提是符號(hào)位保持不變:

????????對(duì)于負(fù)數(shù)的右移:因?yàn)樨?fù)數(shù)在內(nèi)存中是以補(bǔ)碼形式存在的,所有首先根據(jù)負(fù)數(shù)的原碼求出負(fù)數(shù)的補(bǔ)碼(符號(hào)位不變,其余位按照原碼取反加1),然后保證符號(hào)位不變,其余位向右移動(dòng)到X位,在移動(dòng)的過(guò)程中,高位補(bǔ)1.等移位完成以后,然后保持符號(hào)位不變,其余按位取反加1,得到移位后所對(duì)應(yīng)數(shù)的原碼。即為所求。

?????? 舉例1:

?????????????????? -100帶符號(hào)右移4位。-100二進(jìn)制轉(zhuǎn)換為:1100100

?????????????????? -100原碼:?? 10000000??? 00000000??? 00000000?? 01100100

?????????????????? -100補(bǔ)碼:??? 保證符號(hào)位不變,其余位置取反加1

???????????????????????????????????????? 11111111??? 11111111??? 11111111? ? ? ?10011100

?????????????????? 右移4位?? :?? 在高位補(bǔ)1

???????????????????????????????????????? 11111111??? 11111111??? 11111111? ? ? 11111001

???????????????????????????????? 補(bǔ)碼形式的移位完成后,結(jié)果不是移位后的結(jié)果,要根據(jù)補(bǔ)碼寫(xiě)出原碼才是我們所求的結(jié)果。其方法如下:

??????????????????? 保留符號(hào)位,然后按位取反

???????????????????????????????????????? 10000000??? 00000000??? 00000000???? 00000110

??????????????????? 然后加1,即為所求數(shù)的原碼:

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 10000000??? 00000000??? 00000000??? 00000111

???????????????????????? 所有結(jié)果為:-7

????????????????? 舉例2:

????????????????????????????-100無(wú)符號(hào)右移4位。

?????????????????? -100原碼:?? 10000000??? 00000000??? 00000000?? 01100100

?????????????????? -100補(bǔ)碼:??? 保證符號(hào)位不變,其余位置取反加1

???????????????????????????????????????? 11111111??? 11111111??? 11111111?? 10011100

?????????????????? 無(wú)符號(hào)右移4位?? :?? 在高位補(bǔ)0

???????????????????????????????????????? 00001111??? 11111111??? 11111111??? 11111001

????????????????? 即為所求:268435449


總結(jié):

負(fù)數(shù)的無(wú)符號(hào)右移就是相應(yīng)的補(bǔ)碼移位所得,在高位補(bǔ)0即可。

負(fù)數(shù)的右移,就是補(bǔ)碼高位補(bǔ)1,然后按位取反加1即可。

---------------------

作者:等你看完風(fēng)景

來(lái)源:CSDN

原文:https://blog.csdn.net/king_msky/article/details/17221973

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

友情鏈接更多精彩內(nèi)容