我知道无符号,二进制补码,二进制补码和符号大小,以及它们之间的区别,但是我很好奇的是:


为什么将其称为二(或一个)补码,那么是否有一个更笼统的N补码?
这些天才以哪种方式演绎了代表负数的自然方式?

最佳答案

当有人意识到通过从1中减去0并让位翻滚实际上使“变为负数”实际上使带符号算术变得更简单时,因为不需要进行特殊检查来检查数字是否为负数,就产生了二进制补码。其他解决方案使您在-10之间不连续。二进制补码的唯一奇怪之处是,您获得的负数范围比正数多。但是,其他解决方案给您带来了诸如+0-0之类的奇怪问题。

根据Wikipedia的说法,该名称本身来自数学,并且基于当位置数有限时简化减法的方法。该系统实际上是一个“基数补码”,并且由于二进制以2为底,因此它成为“ 2的补码”。结果表明,“一个人的补语”以“减少的基数补语”命名,即基数减一。如果以十进制表示,则名称后面的含义更有意义。

Method of Complements (Wikipedia)

关于binary - 二的补码,为什么命名为“二”,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/8489297/

10-11 20:57