浮点数表示

时间:2020-06-09 11:11:48

标签: precision ieee-754 digital number-systems

enter image description here

这是一个在1996年提出的非常古老的问题,因此请忽略错误。

在这里,指数为8位,那么我们将偏差设为128对吧?但是如何进一步解决该问题,请提供帮助。

2 个答案:

答案 0 :(得分:1)

可能的答案是D,但是问题提出得不好。

首先,B和D是等效的答案,因为“ 0.5 [包含]至1 [专有]”中的可表示数字与“ 0.5 [包含]至(1-2 - 23 )(包括)。”用端点描述间隔而不指定端点是包含的还是排他的是不明确的。

鉴于作者未能指定此答案,我的感觉是他们希望间隔包含两个端点,这使D成为了预期的答案。那完全是基于我对人类各种行为和思想的普遍性的理解,而不是基于对该问题的任何数学或逻辑要求。

第二,由于浮动的性质,“此表示形式中归一化数值的大小范围”必须跨越某个区间[ x ,2 x ]点表示。 (这里我们理解“量级”是指有效位数 1 的值,与符号或指数分开。)这是因为有效位数是浮点基数中固定长度的数字,即在这种情况下,两个。有效数字标准化后,其前导数字为非零。因此,忽略小数点,归一化基数的两位有效数字的范围可以从1000…000 2 到1111…111 2 。每种浮点格式都将基数点的位置固定在这个有效数字中,但是无论固定在哪里,它都会为第一个端点提供一些值 x ,而给第二个端点提供一些值小于2 x 。因此,归一化的二进制有效数始终跨越某个区间[ x ,2 x ]。答案A和C不符合此要求,因此它们是不正确的。

尽管这使我们可以将选择范围缩小到B和D,但是对于初始浮点课程中的简单复习问题来说,这是过多的推理。该问题应该说明了如何解释“ Mantissa”字段的位。尽管它声明它们以“-”符号幅度表示,但它们不是二进制数,因为这将给出从-2 23 到+2 23 -1的值(包括的)。因此,已为基数点选择了其他位置。 [1/2,1)(对于幅度,忽略正负号)和[1,2)的间隔很常见,但是[ x ,2 x 的任意间隔)可以使用。 IEEE-754名义上使用[1,2)的指数偏差为127,但也可以很容易地使用[2 −127 ,2 −126 )并说指数偏差为零!这不会对规范产生影响:只是在措词上有所变化,但完全不会影响数学,实现要求或行为。因此,我们看到这些位如何表示有效位数在很大程度上是任意的,并且该问题未能指定表示形式。

脚注

1 “有效位数”是浮点数小数部分(相对于指数或符号)的首选术语。 “ Mantissa”是对数的小数部分的旧术语。尾数是对数的;在尾数上加上表示的数字。有效位数是线性的;将有效数字乘以表示的数字。

答案 1 :(得分:0)

  • 为什么在标准被批准并被广泛采用很久之后,它在1996年就提出了非IEEE-754格式。
  • 隐式小数点在哪里? (我将Burroughs 5000指向一个奇怪的球。)
  • 在第23位中放置符号位是不寻常的。
  • 可能的答案似乎并不在乎指数。
  • 即使提供了缺少的说明,我也不认为任何答案都是正确的。
相关问题