2017-04-22 40 views
0

假设为一个浮点数以下表示:

1符号位
4位指数
4位有效位数
偏置的7为指数(IEEE中有没有隐含1时)寻找最小和最大正浮点数,一个系统可以代表



鉴于这一信息,我如何才能找到最大和最小的正FLOA这个系统可以支持的点号(二进制)

我想要解决方案,但我对该方法感兴趣。我如何使用这些信息来获得我的结果?

+2

这里没有足够的信息。这个虚构的格式是否支持infinities,nans,零?渐进式下溢?如何解释有效位:最重要的有效位是否具有值“1”或值“0.5”? (对于IEEE 754,这是已知的,但这不是IEEE 754.)位字符串及其对应值的一些示例可能对此有所帮助。 –

回答

1

值由mantissa * base^(exponent - bias)

最高值计算将所有位真正使mantissa = exponent = 2^4 -1 = 15

把那一起,我们得到的最大:

15 * 2^(15 - 7) = 
15 * 2^8 = 
15 * 256 = 
3840 

最小的是哪里mantissa = 0001exponent = 0000这样:

1 * 2^(0 - 7) = 
2^-7 = 
0.0078125 
+0

你为什么不使用14 - 7,我认为指数是从1 - 14? –

+1

@MutatingAlgorithm:如果你想限制指数的范围从1到14,这完全取决于你(毕竟,这是一个虚构的格式),这就是你需要在问题中给出的信息。 IEEE 754格式为infinities,nans,subnormals和zero保留最高和最低的指数,但是您不会告诉我们这种格式是否也可以这样做(并且如果您没有隐藏1位,那么它就没有多大意义保留最低指数)。事实上,这个问题没有明确说明。 –

+0

这也是我想到的,但我又删除了答案,因为我们不知道是否像真实的float类型那样,顶部位被认为是'1',这意味着最大值会仅'480'。我们也不知道是否允许subnormals(这种格式不会有多大意义,但是,嘿,我们不知道*)。 –