补数, 此條目介紹的是的一般概念, 关于電腦科學常用的, 请见, 二補數, 補数, 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,书籍,书籍,图书馆,