如何找到具有指数和尾数的最大可表示整数?

问题描述 投票:0回答:1

我有一个问题需要找到最大的可表示整数(6指数和9尾数)

我知道指数有5位的分割,尾数有10位,有1个符号位。

我知道如何找到尾数的低位和高位数。我使用函数(k /(2 ^(尾数)))。但是如何找到指数的高位和低位?它与位数(16)有关吗?

我正在看一些例子,说明高和低(5指数是-16和15)。但他们如何到达那里是我感到困惑的地方。

谢谢

floating-point integer bit exponent mantissa
1个回答
2
投票

如果您的浮点格式遵循IEEE 754设置的模式,则编码的指数偏向其最大值的一半,向下舍入。因此,5个指数位可以保存0到31之间的代码。向下舍入的31个是15.因此,指数代码1代表1-15 = -14的数学指数,而指数代码,例如27代表a数学指数为27-15 = 12。

此外,在IEEE 754二进制浮点中,保留最大指数代码来表示无穷大和NaN。因此,在您的情况下,有限值的最大指数代码将为30,表示数学指数为30-15 = 15。

但是,没有法律规定任何人必须使用IEEE 754.因此,您的格式有1个符号位,5个指数位和10个有效位的这一事实并不能告诉我们实际的数学指数值是什么。有人可以选择将指数代码偏向另一个值,或者使用常规数字的最大值,而不是无穷大和NaN。并且,根据您的信息,数学指数范围从-15到16,似乎规范可能是所有指数代码都代表数字,并且没有无穷大或NaN。这表明指数偏向15,最大指数代码31表示数学指数为16。

它还表明没有次正规数,因为次正规数通常由指数代码0编码,这意味着有效数的隐含前导位为0(而不是正数的1),并且数学指数会钳位在-14而不是减少到-15。您的信息表示最小指数为-15这一事实表明这种情况没有发生,因此这种格式中没有次正规数。

但是,再一次,没有关于浮点格式必须是什么的定律。有人可以做出其他选择。应该有一个描述这种浮点格式的规范,这是必要信息的来源。

© www.soinside.com 2019 - 2024. All rights reserved.