原碼、反碼和補(bǔ)碼是用來(lái)表示有符號(hào)數(shù)的三種表示方法。其中,原碼最高位表示符號(hào)位,0表示正數(shù),1表示負(fù)數(shù);反碼就是將原碼的符號(hào)位不變,其余位按位取反得到的碼;補(bǔ)碼就是反碼加1。
以8位有符號(hào)數(shù)為例,假設(shè)要求+3的補(bǔ)碼,則步驟如下:
將3的絕對(duì)值用二進(jìn)制表示為0000 0011(8位)
補(bǔ)碼的最高位是符號(hào)位,0表示正數(shù),1表示負(fù)數(shù),因?yàn)?3是正數(shù),所以符號(hào)位為0
將步驟2得到的符號(hào)位和步驟1的二進(jìn)制數(shù)拼接起來(lái),得到0000 0011
由于步驟3中符號(hào)位為0,因此該數(shù)的原碼、反碼和補(bǔ)碼均為0000 0011