我知道无符号,两个补码,一个补码和符号幅度,以及它们之间的区别,但我很好奇的是:
为什么's called two' s(或') complement, so is there a more generalize N' s补码?
这些天才以哪种方式推断出这种自然的方式来表示负数?
通过从 0 中减去 1 并使比特滚动实际使得有符号算术更简单,因为不需要进行特殊检查来检查数字是否为负数,因此两个's complement came about when someone realized that '变为负数 . 其他解决方案会在 -1 和 0 之间产生不连续性 . 两个补码的唯一奇怪之处在于,在你的范围内,你得到的数字比正数要多一个 . 但是,其他解决方案会给你一些奇怪的东西,比如 +0 和 -0 .
0
1
-1
+0
-0
根据维基百科的说法,这个名字本身来自于数学,并且当你的数量有限的地方时,它基于减法的方法 . 该系统实际上是一个“基数补充”,由于二进制是基数二,这就成了“二补” . 事实证明,“一个补码”是以“减少的基数补充”命名的,即基数减一 . 如果你看这个十进制,名字背后的含义更有意义 .
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 回答
通过从
0
中减去1
并使比特滚动实际使得有符号算术更简单,因为不需要进行特殊检查来检查数字是否为负数,因此两个's complement came about when someone realized that '变为负数 . 其他解决方案会在-1
和0
之间产生不连续性 . 两个补码的唯一奇怪之处在于,在你的范围内,你得到的数字比正数要多一个 . 但是,其他解决方案会给你一些奇怪的东西,比如+0
和-0
.根据维基百科的说法,这个名字本身来自于数学,并且当你的数量有限的地方时,它基于减法的方法 . 该系统实际上是一个“基数补充”,由于二进制是基数二,这就成了“二补” . 事实证明,“一个补码”是以“减少的基数补充”命名的,即基数减一 . 如果你看这个十进制,名字背后的含义更有意义 .
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