一補數

+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 
二进制数的反码（）是指将二进制数每個數字反转得到的数：若某一位为0，则使其变为1，反之亦然。

反码表示法（）是一种在计算机中用机器码表示有符号数的方式之一，其中正数使用原码，负数使用反码。该表示法常简称反码。

 一補數以有符號位元的二進位數定義。
 一補數是有符號位元的二進位數。
 正數和0的一補數就是該數字本身。

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

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

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

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

例如，使用4个二进制位时，+3是0011，用一補碼表示-3便是1100。下表列出了4-bit二進數所能表示的整數。

 二進位數  無符號位元  有符號位元  為一補碼時  為二補碼時 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

 相关条目 
 有符号数处理
 二補數
 二進制

 參考資料 

Category:计算机算术
Category:二进制算术
Category:電腦術語
Category:電腦架構
Category:資料傳輸