二进制数的反码(英语:1's complement)是指将二进制数每个数字反转得到的数:若某一位为0,则使其变为1,反之亦然。[1]

Quick Facts “一补数”的各地常用名称, 中国大陆 ...
“一补数”的各地常用名称
中国大陆反码、一的补码
台湾一补数
港澳一补码
Close
More information 原码, 将符号位作为有 实际含义的位所得值 ...
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 
Close

反码表示法(英语:1's complement system)是一种在计算机中用机器码表示有符号数的方式之一,其中正数使用原码,负数使用反码。该表示法常简称反码

  • 一补数以有符号位元的二进位数定义。[需要解释]
  • 一补数是有符号位元的二进位数。[需要解释]
  • 正数和0的一补数就是该数字本身。

一补数在很多算术运算中的表现与这个数的相反数很相似,此特性可使加法电路同时可以运算减法。然而,由于一补数中存在多余的负零和其它问题,此方式并未像二补数一样被广泛应用。

表示方式

使用反码表示有符号数的方法如下

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

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

例如,使用4个二进制位时,+3是0011,用一补码表示-3便是1100。下表列出了4-bit二进数所能表示的整数。

More information 二进位数, 无符号位元 ...
二进位数 无符号位元 有符号位元 为一补码时 为二补码时
0000 0 0 0 0
0001 1 1 1 1
0010 2 2 2 2
0011 3 3 3 3
0100 4 4 4 4
0101 5 5 5 5
0110 6 6 6 6
0111 7 7 7 7
1000 8 -0 -7 -8
1001 9 -1 -6 -7
1010 10 -2 -5 -6
1011 11 -3 -4 -5
1100 12 -4 -3 -4
1101 13 -5 -2 -3
1110 14 -6 -1 -2
1111 15 -7 -0 -1
Close

相关条目

参考资料

Wikiwand in your browser!

Seamless Wikipedia browsing. On steroids.

Every time you click a link to Wikipedia, Wiktionary or Wikiquote in your browser's search results, it will show the modern Wikiwand interface.

Wikiwand extension is a five stars, simple, with minimum permission required to keep your browsing private, safe and transparent.