1

我正在尝试帮助某人完成一些家庭作业,但我得到了错误的答案。

问题是这样的:

以具有 5 位小数二进制补码尾数和 3 位整数二进制补码指数的归一化浮点表示形式表示〖-0.109375〗_10。

我写了以下笔记:

让我们找出问题的答案:〖-0.109375〗_10 步骤1:转换为二进制。

0 0. 0 0 0 1 1 1 0 0

〖-(00.00011100)〗_2

第二步:乘以 1 (2^0) 〖-(00.00011100)〗_2 x 2^0

第 3 步:移动使尾数为整数 我们需要向左移动 6 次 为什么?因为我们有 0.000111 Shift 1 = 00.00111 Shift 2 = 000.0111 Shift 3 = 0000.111 Shift 4 = 00001.11 Shift 5 = 000011.1 Shift 6 = 0000111

因此我们得到 -(〖111〗_2) x 2^(-6)

第 4 步:转换尾数。在这个问题中,我们被要求转换为二进制补码(5 位小数)因此我们需要将 – 111 转换为二进制补码并将其设为 5 位

步骤 A:转换为补码(5 位)-00111 = 11000 步骤 B:转换为二进制补码(5 位)11000 + 00001 = 〖11001〗_2

第 5 步:转换指数前 2 位二进制补码 2^(-6)

因此我们需要将 -6 转换为二进制(二进制补码) 步骤 A:转换为二进制 1 1 0

步骤 B:转换为一个补码(3 位)110 = 001

步骤 C:转换为二进制补码 010

答案是,〖11001 010〗_2

如您所见,2^-6 对于 3 位二进制补码似乎是错误的。

谁能指出我可能做错了什么?

4

1 回答 1

1

通常有效数字(不是尾数1)被移动,因此最高有效位位于某个位置,而不是有效数字是整数。IEEE 754 格式将有效数字标准化为 1。ddd...d,其中每个d是所使用的基数中的一个数字。

移动您的值以将第一个位移动到该位置会产生 –4 的指数。您将有 –1.110 2 •2 –4。为了表示二进制补码中的有效位,我们在左边添加另一个位,产生 –01.110 2 •2 –4,然后应用取反,得到有效数的 10.010 和指数的 100。

但是,细节上可能会有一些变化。有效数是否标准化为 1. ddd...d或 .1 ddd...d?有效位是添加符号位之前还是之后的五位?

您是否有这种格式的具有已知表示的值的示例?或者有关格式的更多详细信息?


1 “有效数字”是首选术语。有效数字是线性的;尾数是对数的。

于 2013-08-21T02:03:28.040 回答