反码

8位数值的原码与反码进行计算
转换为十进制所得真值比较
原码 将符号位作为有
实际含义的位所得值
用反码表示
所得值
0111 1111 127  127 
0111 1110 126  126 
0000 0010 2  2 
0000 0001 1  1 
0000 0000 0  0 
1111 1111 255  −0 
1111 1110 254  −1 
1111 1101 253  −2 
1000 0001 129  −126 
1000 0000 128  −127 

反码(英语:1's complement)是一种在计算机中数的机器码表示。对于单个数值(二进制的0和1)而言,对其进行取反操作就是将0变为1,1变为0。也就是说,若,则反码为;若,则反码。数值上面的一横表示反码的意思。[1]

定义

反码也称为一的补码(英语:ones' complement),其表示方法如下

 

式中,N为真值,n为编码的位数。

显然,正数的反码等于其原码,而负数的反码则可以通过保留其符号位,将原码的数值位取反得到。

参见

参考资料

  1. ^ 《计算机组成原理》网络课程. [2018-11-08]. (原始内容存档于2018-11-08). 
  2. ^ 2017新趨勢計算機概論(電子書). [2018-11-08]. (原始内容存档于2018-11-08).