计算机如何知道二进制补码是负数?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了计算机如何知道二进制补码是负数?相关的知识,希望对你有一定的参考价值。

例如,在Two's Complement中10000001是-127,但它也等于129.我如何或计算机知道它指的是哪个号码?

答案

我如何或计算机知道它指的是哪个号码?

这取决于给定的数字是signed还是unsigned

签名值可以是正数也可以是负数。计算机使用第一位来指示这一点。如果第一位是1,则该数字为负数。如果第一位是0,则数字为正数。为了确定数字的值,使用其他7位。

因此对于签署的1000 0001,它将意味着-1

无符号

无符号值仅为正数。由于没有关于数字是正数还是负数的指示,所有8位将用于确定数字的值。

对于未签名的1000 0001,它将意味着129

另一答案

对于有符号整数8位表示,the most significant bit represents the sign。因此,您有7位来表示值本身。对于无符号整数8位表示,所有8位用于表示该值,因为该表示中的数字已被假定为正。

以上是关于计算机如何知道二进制补码是负数?的主要内容,如果未能解决你的问题,请参考以下文章

负数在内存中存储为 2 的补码,CPU 如何知道它是负数还是正数?

二进制正负数的原码反码补码之间的转化

以其他基数表示负数

PHP 负数值得问题

计算机补码原码问题

负数在计算机中的表示方法