我知道无符号,两个补码,一个补码和符号幅度,以及它们之间的区别,但我很好奇的是:
为什么's called two' s(或') complement, so is there a more generalize N' s补码?
这些天才以哪种方式推断出这种代表负数的自然方式?
两个's complement came about when someone realized that '从负 0 减去 1 并让比特滚动实际上使得带符号算术更简单,因为不需要进行特殊检查来检查数字是否为负 . 其他解决方案会在 -1 和 0 之间产生不连续性 . 两个补码的唯一奇怪之处在于,在你的范围内你得到的负数比正数要多一个 . 但是,其他解决方案会给你一些奇怪的东西,比如 +0 和 -0 .
0
1
-1
+0
-0
根据维基百科的说法,这个名字本身来自于数学,并且基于在数量有限的地方使减法更简单的方法 . 该系统实际上是一个“基数补充”,由于二进制是基数2,这就变成了“二进制补码” . 事实证明,“一个补码”是以“基数补偿减少”命名的,即基数减一 . 如果你看这个十进制,名字背后的含义更有意义 .
Method of Complements (Wikipedia)
你可以在其他基地做同样的事情 . 对于十进制,你将有9的补码,其中每个数字X被9-X替换,而数字的10的补码是9的补码加1 . 然后,您可以通过添加10的补码来减去,假定固定的位数 .
一个例子 - 在4位数系统中,给定减法
0846 -0573 =0273
首先找到573的9的补码,即9-0 9-5 9-7 9-3或9426573的10的补码是9426 1,或9427现在添加10的补码并扔掉任何4位数字
0846 +9427 .. 10's complement of 573 = 10273 .. toss the 'overflow' digit = 0273 .. same answer
显然这是一个简单的例子 . 但这个比喻带来了 . 有趣的是,4位10的补码中最负值? 5000!
至于词源,我推测术语1的补码是相同意义上的补语,因为几何形状的互补角是90度减去角度 - 也就是说,当你从某个标准值中减去给定值时它是剩下的部分 . 但不确定“2”的补充是否有意义 .
在十进制编号系统中, radix 是 ten :
radix complement 被称为 ten's complement
diminished radix complement 被称为 nines' complement
在二进制编号系统中, radix 是 two :
radix complement 被称为 two's complement
diminished radix complement 被称为 ones' complement
资料来源:https://en.wikipedia.org/wiki/Method_of_complements
3 回答
两个's complement came about when someone realized that '从负
0
减去1
并让比特滚动实际上使得带符号算术更简单,因为不需要进行特殊检查来检查数字是否为负 . 其他解决方案会在-1
和0
之间产生不连续性 . 两个补码的唯一奇怪之处在于,在你的范围内你得到的负数比正数要多一个 . 但是,其他解决方案会给你一些奇怪的东西,比如+0
和-0
.根据维基百科的说法,这个名字本身来自于数学,并且基于在数量有限的地方使减法更简单的方法 . 该系统实际上是一个“基数补充”,由于二进制是基数2,这就变成了“二进制补码” . 事实证明,“一个补码”是以“基数补偿减少”命名的,即基数减一 . 如果你看这个十进制,名字背后的含义更有意义 .
Method of Complements (Wikipedia)
你可以在其他基地做同样的事情 . 对于十进制,你将有9的补码,其中每个数字X被9-X替换,而数字的10的补码是9的补码加1 . 然后,您可以通过添加10的补码来减去,假定固定的位数 .
一个例子 - 在4位数系统中,给定减法
首先找到573的9的补码,即9-0 9-5 9-7 9-3或9426
573的10的补码是9426 1,或9427
现在添加10的补码并扔掉任何4位数字
显然这是一个简单的例子 . 但这个比喻带来了 . 有趣的是,4位10的补码中最负值? 5000!
至于词源,我推测术语1的补码是相同意义上的补语,因为几何形状的互补角是90度减去角度 - 也就是说,当你从某个标准值中减去给定值时它是剩下的部分 . 但不确定“2”的补充是否有意义 .
在十进制编号系统中, radix 是 ten :
radix complement 被称为 ten's complement
diminished radix complement 被称为 nines' complement
在二进制编号系统中, radix 是 two :
radix complement 被称为 two's complement
diminished radix complement 被称为 ones' complement
资料来源:https://en.wikipedia.org/wiki/Method_of_complements