浮点:基于IEEE,但非标准的位值转换为二进制

时间:2009-12-03 00:30:39

标签: architecture computer-science

所以这就是我们所拥有的,基于IEEE的自定义设置:

  

考虑五位浮动   基于IEEE的表示   带有1个符号位的浮点格式,   两个指数位和2个有效数   位。

需要转换为二进制的选择位(包括答案​​):

  

0 00 00 = 0

     

0 00 01 = 0.01

     

0 00 10 = 0.10

     

0 00 11 = 0.11

     

0 01 00 = 1.00

     

0 01 01 = 1.01

     

0 01 10 = 1.10

我试图计算上述内容的方式如下:

2 ^(2-1)-1 = 1(偏差)

对于第二个,这将意味着0 -1(因为指数字段为零),所以0.1 * 10-1 = .01。唯一的问题是,我们似乎没有添加隐含的领先1.为什么不呢?然而,对于具有正指数的值(见5及以下),我们确实添加了前导值。对于我失踪的东西感到有点难过。

非常感谢!

2 个答案:

答案 0 :(得分:1)

你可能交换了指数和尾数列。也许是因为它看起来很合适。

答案 1 :(得分:1)

您所缺少的是,在IEEE-754格式中,具有零指数但非零有效位字段的值(称为 denormals )没有隐含的前导位。

例如,在IEEE单精度中,最小正正常数为:

0x00800000 = 0x1.0 * 2**-126

下一个较小的数字是最大的非正规数:

0x007fffff = 0x0.fffffe * 2**-126

最小的正数是最小的正规数:

0x00000001 = 0x0.000002 * 2**-126

请注意,非正规数不仅没有隐含位,而且它们与下一个较大的binade中的元素具有相同的指数,即使它们的编码指数小一(零对一)。