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