为什么-8的补码用四位二进制人为规定表示为1000?懂得告诉我。。不懂就

2025-03-07 02:12:06
推荐回答(3个)
回答1:

要用二进制补码形式表示-8最小需要4位
-8用4位二进制数表示的计算过程:8D=1000B,1000B取反=0111B,0111B+1=1000B
-8用8位二进制数表示:8D=00001000B,00001000B取反=11110111B,11110111B+1=11111000B,从最低4位来看与4位的表示是一致的

回答2:

计算机的硬件,只有加法器。

负数、减法,都必须用加法来完成。

你看十进制:

  24 - 1 = 23

  24 + 99 = (一百) 23

舍弃进位,+99 可以当做-1 进行运算。

+99 就是-1 的补数。

补数(补码),就是一个“代替负数进行运算的正数”。

对于 2 位 10 进制数,求补数的公式:

  补数=负数+10^2。

----------------------

计算机中,用二进制,就称为补码。

对于 8 位 2 进制数,求补码的公式:

  补码=负数+2^8。

-1 的补码是:-1 + 256 = 255 = 1111 1111。

-2 的补码是:-2 + 256 = 254 = 1111 1110。

。。。

-128 的补码是:128 = 1000 0000。

----------------------

如果四位二进制,-8 的补码,就是:

  -8 + 2^4 = 8 = 1000(二进制)。

求补码,不要用“原码取反加一”。

那个方法,是无法求出-8 的补码的。

而且,你也不能理解使用补码的意义。

----------------------

回答3:

-7原码1111
-7反码1000
-7补码1001
-8 = -7 - 1
二进制的位运算用的都是其补码,A 与 B 做位运算,不论是+-*/^|&,都是将A,B分别转为补码再进行运算的,就是 (A)补 与 (B)补做位运算。

-7 - 1 = -7补(1001)-1补(0001) = -8补(1000)