原碼、反碼和補(bǔ)碼是計(jì)算機(jī)中用來表示帶符號(hào)整數(shù)的三種編碼方式。
1.原碼:將一個(gè)整數(shù)的符號(hào)位和數(shù)值部分分別表示出來,最高位表示符號(hào)位,0表示正數(shù),1表示負(fù)數(shù)。例如,+5的原碼為00000101,-5的原碼為10000101。
2.反碼:正數(shù)的反碼與原碼相同,負(fù)數(shù)的反碼為將原碼中除符號(hào)位以外的位取反。例如,+5的反碼為00000101,-5的反碼為11111010。
3.補(bǔ)碼:正數(shù)的補(bǔ)碼與原碼相同,負(fù)數(shù)的補(bǔ)碼為將原碼中除符號(hào)位以外的位取反后加1。例如,+5的補(bǔ)碼為00000101,-5的補(bǔ)碼為11111011。
在計(jì)算機(jī)中,使用補(bǔ)碼表示帶符號(hào)整數(shù)可以避免加法和減法的特殊處理,同時(shí)可以避免0的表示不唯一的問題,也方便進(jìn)行位運(yùn)算和二進(jìn)制運(yùn)算。