一補數

(重定向自反码

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

「一補數」的各地常用名稱
中国大陸反码、一的补码
臺灣一補數
港澳一補碼
8位数值的原码与反码进行计算
转换为十进制所得真值比较
原码将符号位作为有
实际含义的位所得值
用反码表示
所得值
0111 1111127 127 
0111 1110126 126 
0000 00102 2 
0000 00011 1 
0000 00000 0 
1111 1111255 −0 
1111 1110254 −1 
1111 1101253 −2 
1000 0001129 −126 
1000 0000128 −127 

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

  • 一補數以有符號位元的二進位數定義。[需要解释]
  • 一補數是有符號位元的二進位數。[需要解释]
  • 正數和0的一補數就是該數字本身。

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

表示方式编辑

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

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

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

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

二進位數無符號位元有符號位元為一補碼時為二補碼時
00000000
00011111
00102222
00113333
01004444
01015555
01106666
01117777
10008-0-7-8
10019-1-6-7
101010-2-5-6
101111-3-4-5
110012-4-3-4
110113-5-2-3
111014-6-1-2
111115-7-0-1

相关条目编辑

參考資料编辑

  1. ^ M Morris Mano; Michael D Ciletti. Digital design : with an introduction to the verilog hdl. 培生教育. 2013: 第27頁. ISBN 9780273764526.