考虑一个浮点数系统,其基数= 2,精度= 3,指数下限L = -1,指数上限(U)= 1
可以表示的最小正数是多少?
我的答案是0.01 * 2 ^ -1 = 0.001,基数2 = 0.125,基数10
但答案显然是1.00 * 2 ^ -1 = 0.1,基数2 = 0.5,基数10
有人可以解释一下吗?
注意:我知道有一个公式可以确定最小的正整数,即(基数^(较低的指数限制)),它也给出0.5,但我想知道为什么我的答案是不正确的。感谢
答案 0 :(得分:2)
由于没有明确指定浮点数系统,因此存在歧义。根据所提供的信息,我们无法明确说明哪个答案是正确的。
对于大多数数字,常见的浮点系统需要非零的前导数字。例如,IEEE 754要求有效数字的第一位(隐式地)为“正常”二进制浮点数。但是,它也有“次正规”数字,其中第一位为0。
你表现得的答案是正确的,显然是根据一些权威(编写测试的老师?),使用标准化的有效数字1.00。你建议的答案使用非标准化的有效数字,0.01。要说哪个是正确的,我们需要知道所讨论的浮点系统是否允许非标准化有效数。