Floating point IEEE 24位浮点的最小正值是多少?

Floating point IEEE 24位浮点的最小正值是多少?,floating-point,ieee-754,floating-point-precision,24-bit,Floating Point,Ieee 754,Floating Point Precision,24 Bit,IEEE-754 32位浮点的最小正值为2^−149和16位浮点的值是2^-14如果IEEE-754标准化了24位浮点,其最小正值是多少? 请原谅,如果这是明确记录在某处,但我无法在搜索中找到它 如果您想了解实用性,这将用于将四个不同精度的浮点值拟合为64位,以便在内存不足的系统中使用。IEEE-754实际上没有回答这个问题;它不提供24位格式的标准化,通常用于确定浮点格式中有效位数量的公式因宽度较小而被分解 也就是说,最自然的选择是有七个指数位和十六个显式有效位,这使得最小的正态数2^-62你

IEEE-754 32位浮点的最小正值为
2^−149
和16位浮点的值是
2^-14
如果IEEE-754标准化了24位浮点,其最小正值是多少?

请原谅,如果这是明确记录在某处,但我无法在搜索中找到它


如果您想了解实用性,这将用于将四个不同精度的浮点值拟合为64位,以便在内存不足的系统中使用。

IEEE-754实际上没有回答这个问题;它不提供24位格式的标准化,通常用于确定浮点格式中有效位数量的公式因宽度较小而被分解


也就是说,最自然的选择是有七个指数位和十六个显式有效位,这使得最小的正态数
2^-62

你能详细说明为什么七个指数位比六个更自然吗(比如说)?我认为大于5(float16)小于8(float32)是有道理的,但我很好奇你用什么标准来选择7而不是6个指数位。使用浮点数的一个主要原因是它们比相同宽度的整数提供更大的动态范围。对于六位指数,表示范围为
2^-30
<代码>2^31;在我们这个64位硬件相当便宜的现代时代,这并不能为用户提供太多。另一个指数位的额外动态范围是一个很好的折衷方案,我希望大多数用户更喜欢第十七个有效位。建议使用8位指数和16位精度(包括隐藏位),以便于转换为二进制32格式。最小的正32位浮点为2**-149,不是2**-126。2**-126是最小的正标准32位浮点。感谢您指出:3如果可行,您可以为3个值使用一个公共指数,例如,在执行操作时,如果需要,可以解包。例如,如果您不需要负值,并选择7位作为指数,那么您有19位作为尾数。或者你可以使用3个符号位和7位指数加18位尾数。我误读了,你将3个浮点值放入64位,但是如何将4个浮点值放入64位呢?即使只使用一个24位数字,其他3个值也只剩下40位,这导致精度甚至低于精度浮点的一半。如果使用不同的精度,则可能需要更多位来编码数据的长度floats@L并非所有浮点数都是24位。它们将是两个24位浮点和两个8位浮点。请注意,我在同一句话中说了“精度不同”。