fbpx
维基百科

补数

補数complement)是对于给定的进位制,相加后能使自然数 a 的位数增加 1 的最小的数。可以在计算电路中,代替减的操作,而仅仅使用加法元器件(加法器)的“加上的补数(无视最高位的进位)”,达到相同的效果。

定义 编辑

b 进制表示自然数 a 至少需要 n 位数字,规定

  •   是      “b 进制数 a 的关于基数的补数b 的补数)”
  •   是“b 进制数 a 的关于减基数的补数b - 1 的补数,简称减补数侪补数)”。

例如,十进制自然数 61 关于基数 10 的补数是  。二进制自然数   关于基数 2 的补数是  

由定义可以得出,a基数的补数 加上 a,可以得到位数多一位的最小的自然数( )。a減基数的补数 加上 a ,可以得到位数不增加的最大的自然数( )。

基数 b 在上下文中明确的时候,“在b 进制中”的描述通常被省略。

但是,在基数不明确的情况下,“  的补数”表示的可以是  进制的減基数的补数,也可是   进制的基数的补数,从而产生歧义(这两者的值不一定是相等的)。例如,仅仅说“9的补数”,无法确定指的是“10进制中的减基数的补数”还是“9进制中的基数的补数”。

在英文中,十进制的基数的补数记为 ten's complement,减基数的补数称为 nines' complement。二进制中,基数的补数称为 two's complement,减基数的补数称为 ones' complement。其他进制也有类似的称法。一些人,如高德纳,建议采用撇号区分。这样,four's complement指的是四进制中的基数的补数。而fours' complement指的是五进制中的减基数的补数。但是,这并不是普遍的做法,而且在几乎所有情况下进制是明确的。多数作者写做 one'snine's complement,一些格式手册建议采用 onesnines complement,不采用撇号。

計算方法 编辑

对于N进制的自然数a,从个位开始的各位数字

 

规定 不能为0。规定 的各位为:

bi = (N + 1) + ai

这时,N进制形如的

 

  即称为“  的关于   的补数”。

10进制的举例 编辑

十进制数 2304671 的补数。由于 9 = 2 + 7 = 3 + 6 = 0 + 9 = 4 + 5 = 6 + 3 = 7 + 2 = 1 + 8 ,令N=9时,自然数2304671对应的補数为 7695328 。 7695328 + 1 = 7695329 ,因此N=10时,自然数2304671对应的補数是 7695329

2进制的举例 编辑

二进制中有 1 + 1 = 0, 1 + 0 = 1,求1的补数只需简单地将0与1相互替换位操作中的逻辑非运算)。

二補數(即补码),只需要将1的补数加1。

  • 二进制的 101010110 对应的1的补数是 010101001。
  • 2 的补数是 010101001 + 1 = 010101010。

参考文献 编辑

JIS X 0005:2002 情報処理用語(データの表現) 05.08

Donald E. Knuth 『The Art of Computer Programming Vol. 2 Seminumerical Algorithms Third Ed. 日本語版』 アスキー、2004年、191頁。 (ISBN 4-7561-4543-4)

相关条目 编辑

补数, 此條目介紹的是的一般概念, 关于電腦科學常用的, 请见, 二補數, 補数, complement, 是对于给定的进位制, 相加后能使自然数, 的位数增加, 的最小的数, 可以在计算电路中, 代替减x, displaystyle, 的操作, 而仅仅使用加法元器件, 加法器, 加上x, displaystyle, 无视最高位的进位, 达到相同的效果, 目录, 定义, 計算方法, 10进制的举例, 2进制的举例, 参考文献, 相关条目定义, 编辑设b, 进制表示自然数, 至少需要, 位数字, 规定, displa. 此條目介紹的是补数的一般概念 关于電腦科學常用的补数 请见 二補數 補数 complement 是对于给定的进位制 相加后能使自然数 a 的位数增加 1 的最小的数 可以在计算电路中 代替减x displaystyle x 的操作 而仅仅使用加法元器件 加法器 的 加上x displaystyle x 的补数 无视最高位的进位 达到相同的效果 目录 1 定义 2 計算方法 2 1 10进制的举例 2 2 2进制的举例 3 参考文献 4 相关条目定义 编辑设b 进制表示自然数 a 至少需要 n 位数字 规定 b n a displaystyle b n a nbsp 是 b 进制数 a 的关于基数的补数 b 的补数 b n a 1 displaystyle b n a 1 nbsp 是 b 进制数 a 的关于减基数的补数 b 1 的补数 简称减补数 侪补数 例如 十进制自然数 61 关于基数 10 的补数是 10 2 61 39 displaystyle 10 2 61 39 nbsp 二进制自然数 10010 2 18 10 displaystyle 10010 2 18 10 nbsp 关于基数 2 的补数是 2 5 18 1110 2 14 10 displaystyle 2 5 18 1110 2 14 10 nbsp 由定义可以得出 a 的基数的补数 加上 a 可以得到位数多一位的最小的自然数 b n displaystyle b n nbsp a 的減基数的补数 加上 a 可以得到位数不增加的最大的自然数 b n 1 displaystyle b n 1 nbsp 基数 b 在上下文中明确的时候 在b 进制中 的描述通常被省略 但是 在基数不明确的情况下 b displaystyle beta nbsp 的补数 表示的可以是 b 1 displaystyle beta 1 nbsp 进制的減基数的补数 也可是 b displaystyle beta nbsp 进制的基数的补数 从而产生歧义 这两者的值不一定是相等的 例如 仅仅说 9的补数 无法确定指的是 10进制中的减基数的补数 还是 9进制中的基数的补数 在英文中 十进制的基数的补数记为 ten s complement 减基数的补数称为 nines complement 二进制中 基数的补数称为 two s complement 减基数的补数称为 ones complement 其他进制也有类似的称法 一些人 如高德纳 建议采用撇号区分 这样 four s complement指的是四进制中的基数的补数 而fours complement指的是五进制中的减基数的补数 但是 这并不是普遍的做法 而且在几乎所有情况下进制是明确的 多数作者写做 one s和nine s complement 一些格式手册建议采用 ones和nines complement 不采用撇号 計算方法 编辑对于N进制的自然数a 从个位开始的各位数字 a 0 a 1 a r 1 a r displaystyle a 0 a 1 a r 1 a r nbsp 规定a r displaystyle a r nbsp 不能为0 规定b i displaystyle b i nbsp 的各位为 bi N 1 ai这时 N进制形如的 a 0 a 1 a r 1 a r displaystyle a 0 a 1 a r 1 a r nbsp 数 b displaystyle b nbsp 即称为 a displaystyle a nbsp 的关于 N 1 displaystyle N 1 nbsp 的补数 10进制的举例 编辑 求十进制数 2304671 的补数 由于 9 2 7 3 6 0 9 4 5 6 3 7 2 1 8 令N 9时 自然数2304671对应的補数为 7695328 7695328 1 7695329 因此N 10时 自然数2304671对应的補数是 7695329 2进制的举例 编辑 二进制中有 1 1 0 1 0 1 求1的补数只需简单地将0与1相互替换 位操作中的逻辑非运算 求二補數 即补码 只需要将1的补数加1 二进制的 101010110 对应的1的补数是 010101001 2 的补数是 010101001 1 010101010 参考文献 编辑JIS X 0005 2002 情報処理用語 データの表現 05 08Donald E Knuth The Art of Computer Programming Vol 2 Seminumerical Algorithms Third Ed 日本語版 アスキー 2004年 191頁 ISBN 4 7561 4543 4 相关条目 编辑加法器 二補數 有符號數處理 取自 https zh wikipedia org w index php title 补数 amp oldid 75088990, 维基百科,wiki,书籍,书籍,图书馆,

文章

,阅读,下载,免费,免费下载,mp3,视频,mp4,3gp, jpg,jpeg,gif,png,图片,音乐,歌曲,电影,书籍,游戏,游戏。