标准化浮点表示

时间:2013-08-20 21:36:15

标签: floating-point binary twos-complement

我正在努力帮助某人完成一些功课,但我得到了错误的答案。

问题是:

  

在标准化浮点表示中表示〖-0.109375〗_10   具有5位小数的二进制补码尾数和一个3位   整数二的补数指数。

我写了以下笔记:

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

0 0. 0 0 0 1 1 1 0 0

〖 - (00.00011100)〗_ 2

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

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

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

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

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

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

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

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

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

答案是, 〖11001 010〗_2

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

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

1 个答案:

答案 0 :(得分: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 ?在添加符号位之前或之后是有效位5位吗?

您是否拥有此格式的已知表示值的示例?或者有关格式的更多细节?


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