原碼,反碼和補(bǔ)碼

二進(jìn)制數(shù)在內(nèi)存中以補(bǔ)的形式存儲(chǔ)。

原碼表示法在數(shù)值前面增加了一位符號(hào)位(即最高位為符號(hào)位):正數(shù)該位為0,負(fù)數(shù)該位為1(0有兩種表示:+0和-0),其余位表示數(shù)值的大小。例如,用8位二進(jìn)制表示一個(gè)數(shù),+11的原碼為00001011,-11的原碼就是10001011。

反碼表示法規(guī)定:正數(shù)的反碼與其原碼相同;負(fù)數(shù)的反碼是對(duì)其原碼逐位取反,但符號(hào)位除外。

補(bǔ)碼表示法規(guī)定:正數(shù)的補(bǔ)碼與其原碼相同;負(fù)數(shù)的補(bǔ)碼是在其反碼的末位加1。

(1) 原碼:在數(shù)值前直接加一符號(hào)位的表示法。
[+7]原= 0 0000111 B
[-7]原= 1 0000111 B
注意:a. 數(shù)0的原碼有兩種形式:[+0]原=0 0000000 B[-0]原=1 0000000 B
b. 8位二進(jìn)制原碼的表示范圍:-127~+127
(2)反碼:正數(shù):正數(shù)的反碼與原碼相同。
負(fù)數(shù):負(fù)數(shù)的反碼,符號(hào)位為“1”,數(shù)值部分按位取反。
[+7]反= 0 0000111 B[-7]反= 1 1111000 B
注意:a. 數(shù)0的反碼也有兩種形式,即[+0]反=0 0000000 B[-0]反=1 1111111 B
b. 8位二進(jìn)制反碼的表示范圍:-127~+127
(3)補(bǔ)碼正數(shù):正數(shù)的補(bǔ)碼和原碼相同。
負(fù)數(shù):負(fù)數(shù)的補(bǔ)碼則是符號(hào)位為“1”。并且,這個(gè)“1”既是符號(hào)位,也是數(shù)值位。
數(shù)值部分按位取反后再在末位(最低位)加1。也就是“反碼+1”。

最后編輯于
?著作權(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)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

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