很可能原定答案是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”是对数的小数部分的旧术语。尾数是对数的;在尾数上加上表示的数字。有效位数是线性的;乘以有效位数再乘以表示的数字。