十进制符号和幅度转换

时间:2014-01-10 16:41:42

标签: algorithm math decimal computer-science bit

我有一个问题已经解决,还有许多其他类似的问题,我已成功完成作为我的任务的一部分。我对其中一个问题感到有些困惑......

“十进制数-256保存在9位存储器位置。以符号和幅度表示。”

我得到的答案是...... 11 0000 0000

我是如何通过以下方式得到的:

我们首先显示二进制形式然后反转最高有效位(最左边的位.O代表正值,1代表负值)该符号确定它是正值还是负值和幅度是总数或位总数等。

请注意,我添加了一个额外的位来显示符号和幅度的-256表示。这仅仅是因为9位不足以显示256最大值时是256还是正数。总共9位给出的幅度为256,第10位(在最左边)显示符号为'1',这表示它是负256.

我觉得令人困惑的是十进制-256保存在9位内存位置,我得到的结果是1 0000 0000.我已经添加了一个额外的位来显示该数字为负数,然后代表它在10位。我很难用如何只使用9位表示-256的符号和幅度。似乎不可能以9位显示,因此我使用了10位,但我只允许使用9位。有人可以帮助我们如何实现这一目标。对你的帮助表示感谢。我只是有点困惑。我的导师希望我们使用互联网或自我知识,甚至不会给我们提供任何线索。这就是我在这里的原因。

2 个答案:

答案 0 :(得分:0)

知道这有点晚了,但我刚才在我的硬件中也想到了这一点并查了一下。

给定w比特的符号幅度的幅度为2^(w-1)-1 100000000的十进制等值为256。 鉴于位数是92^(8)-1 = 255

因此,无法在符号幅度中存储256给定9位。

答案 1 :(得分:-1)

无法用9位表示符号幅度-256,因为无法在256位中表示8,(8位精确度,提供2^8 = 256个不同的可能值,因此您可以从0255表示,但不能再表示。