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

Rya*_*ham 6 binary

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

use*_*460 0

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

这取决于给定的数字是signedunsigned

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

因此对于一个签名来说1000 0001,这意味着-1

未签名

无符号值只会是正数。由于不需要指示该数字是正数还是负数,因此将使用所有 8 位来确定该数字的值。

对于 unsigned 1000 0001,这意味着129