原码、反码、补码在计算机组成原理出现过,而且笔试题也经常出现,下面复习一下原码、反码、补码。
原码
原码(true form)是一种计算机中对数字的二进制定点表示方法。它由最高位的符号位和剩余的其他位组成,正数该位为0,负数该位为1。
例如,我们用8位二进制表示一个数,+11的原码为00001011,-11的原码就是10001011
原码的取值范围[1111 1111,0111 1111],表示的十进制的范围即[-127,127].
反码
正数的反码是其本身,负数的反码是在其原码的基础上, 符号位不变,其余各个位取反.
例如,+11的原码为00001011,反码为00001011;-11的原码就是10001011,反码为11110100;
补码
正数的补码就是其本身,负数的补码是在其原码的基础上, 符号位不变, 其余各位取反, 最后+1. 也就是该数反码+1;
例如,+11的原码为00001011,反码为00001011,补码为00001011;
-11的原码就是10001011,反码为11110100,补码为1111 0101;