你好 不知道你是否看过唐朔飞版的计算机组成原理 上面说8位的机器数代表补码时,对应的真值范围是-128~127

10000000这个代表-128的补码 我觉得这个有问题,你觉得呢
2024-11-08 06:35:46
推荐回答(4个)
回答1:

8 位的机器数代表补码时,对应的真值范围是-128~127。

--正确。

1000 0000  这个代表-128的补码。

--欠妥。应该说:

1000 0000 这“是”-128 的补码。

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

用 8 位的原码和反码,来代表数值,最小值都是-127。

而用补码来表示数值,最小值,就是-128。

补码,比原码和反码,能多表示一个数值。

这是因为:原码和反码的定义,就是不合理的。

一个零,它们都编造了两个代码。

所以,计算机中,根本就不用它们。

那么,你从原码反码代表的最小值,是不能导出补码最小值的。

原码反码取反加一符号位不变”,在这里是不好用的。

你必须用“补码的定义式”来求证,你才能理解:

 【 1000 0000  这“就是” -128的补码。】


回答2:

没有问题,可以通过补码定义式推出这个结论。

一般对于字长为N为的补码数,其最小值二进制代码形式为:1000000...000,长度共N位

真值大小为:-2^(n-1)

n=8带入上式,得最小值=-2^7=-128

回答3:

嗯,你是不是觉得转化为真值时有问题,感觉少一位,计算机运算就是补码,不用转化。

回答4:

不懂