原碼反碼補(bǔ)碼怎么算 什么是反碼?
什么是反碼?正數(shù)的原碼、補(bǔ)碼和逆碼是相同的,它們等于自身。負(fù)數(shù)的補(bǔ)碼是:符號(hào)位是1,其余的成員是負(fù)數(shù),最后一位加1。反碼是:符號(hào)位是1,其余成員取反,但最后一位不加1。也就是說,逆碼的最后一位加1是補(bǔ)
什么是反碼?
正數(shù)的原碼、補(bǔ)碼和逆碼是相同的,它們等于自身。負(fù)數(shù)的補(bǔ)碼是:符號(hào)位是1,其余的成員是負(fù)數(shù),最后一位加1。反碼是:符號(hào)位是1,其余成員取反,但最后一位不加1。也就是說,逆碼的最后一位加1是補(bǔ)碼110011,除符號(hào)位外,原補(bǔ)碼和逆補(bǔ)碼的逐位求反加1正數(shù)是相同的。在計(jì)算機(jī)中,數(shù)據(jù)是以補(bǔ)碼的形式存儲(chǔ)的:在n位機(jī)號(hào)中,最高的位是符號(hào)位,0為正,1為負(fù);剩下的n-1位是數(shù)字位,每一位的值可以是0或1。當(dāng)真值為正時(shí),原碼、逆碼和補(bǔ)碼的值位完全相同;當(dāng)真值為負(fù)時(shí),原碼的值位保持不變,逆碼的值位與原碼的值位相反,補(bǔ)碼是反碼的最低位加1。請(qǐng)注意,符號(hào)位不會(huì)更改。例如:機(jī)器號(hào)為16位時(shí):十進(jìn)制數(shù)17的原碼、反碼、補(bǔ)碼為:100000000001001,十進(jìn)制數(shù)-17的原碼、反碼、補(bǔ)碼為:100000000001001、1111111111111111111
1。第一步是要知道:0和0相加是0,0和1相加是1,1和1相加是0,但是要產(chǎn)生一個(gè)進(jìn)位1,就要加到下一列。如果進(jìn)位是在最高位相加之后生成的,則最終結(jié)果將增加1。
2. 下一步1。在反碼運(yùn)算中,符號(hào)位和值共同參與運(yùn)算。2在將反碼的符號(hào)位相加之后,如果有進(jìn)位,則將其發(fā)送回最低位進(jìn)行相加(循環(huán)進(jìn)位)。三。反碼運(yùn)算的結(jié)果也是反碼。轉(zhuǎn)換為真值時(shí),如果符號(hào)位為0,則數(shù)字不會(huì)改變;如果符號(hào)位為1,則結(jié)果應(yīng)反轉(zhuǎn)為真值。下一步是給你一個(gè)例子:[example]假設(shè)x=01101,y=00110,z=x-y是由反碼計(jì)算出來的。
4. 接下來,我們將回答上一步中的示例。如果[x]逆=01101,[-y]逆=11001,則[Z]逆=[x]逆[-y]逆=01101 11001 1(循環(huán)進(jìn)位)=00111,其真值為Z=00111。