0

我有一个关于计算机 Q 中带符号数表示的基本问题)正如我在 8 位表示中所学的那样,第 7 位(从 0-7 计数)始终是符号位,其余 0-6 位是号码

所以在负数的情况下第7位总是1。那么-128如何等于1000 0000?

当我们看到 1000 0000 时,我们假设它是一个负数,并取 000 0000 为量级.. 如果对此取 2 的补码,则为 1000 0000

在这种情况下,符号位是否会在 8 位寄存器中被覆盖.. 请解释一下.. 希望我的解释清楚

4

1 回答 1

0

在二进制补码中,当最高位为 1 时,数字为 -(倒数 + 1)

因此对于 1000 0000 的示例(假设我们有 8 位数字),即 -(倒数 1000 0000 + 1)= - (0111 1111 + 1) = - (127 + 1) = -128

要创建负十进制数的二进制补码,您可以执行类似的操作 - 对于给定的数字反转位,然后加 1。

即:对于 -5,5 是 0000 0101(假设我们将是一个 8 位数字)。倒转 1111 1010,加 1 = 1111 1011。

对于 -128,128 是 1000 0000(忽略目前最高位表示 8 位数字的 -ve 的事实),倒数 = 0111 1111,加 1 = 1000 0000。

于 2017-07-27T17:12:26.920 回答