原码、反码和补码是计算机中用来表示带符号整数的三种编码方式。
1.原码:将一个整数的符号位和数值部分分别表示出来,最高位表示符号位,0表示正数,1表示负数。例如,+5的原码为00000101,-5的原码为10000101。
2.反码:正数的反码与原码相同,负数的反码为将原码中除符号位以外的位取反。例如,+5的反码为00000101,-5的反码为11111010。
3.补码:正数的补码与原码相同,负数的补码为将原码中除符号位以外的位取反后加1。例如,+5的补码为00000101,-5的补码为11111011。
在计算机中,使用补码表示带符号整数可以避免加法和减法的特殊处理,同时可以避免0的表示不唯一的问题,也方便进行位运算和二进制运算。