2017-10-21 141 views

回答

1

创建包含浮点指数的浮点数的可能性的理论答案是是的,它可以被创建 - 数字如何表示是一个约定变成标准的问题。没有人会阻止创建自己的约定。它甚至在理论上可以创建浮点数的浮点尾数与浮点指数与浮点基数(对术语的解释见下文)。

变本加厉,甚至可以推测约浮动用于连续有效数,指数和十进制基数点数的多个级别。现在的问题是,它是否会实际使用 - 我想这对于某些应用是的,这可能是扩大范围,同时保持浮点数的精度有限,一个有趣的选择。这将是其中有效数和指数仍然是一个积分但精度和可表示的实数的范围是通过使用大的整数扩展解决这样的问题,以在开源GNU MPFR Library使用的一个的方向相反。

如果这个数字必须被大多数浮点实现所接受,那么这意味着它应该符合标准,比的答案不是

根据IEEE-754 2008标准浮点运算:

该组有限的浮点数的由以下整数的参数确定的特定格式内所能表述:

- B =所述基数,2或10

- p =数字的有效数的数目(精度)

- EMAX =最大指数e

- emin =最小指数e

emin对所有格式都是1 - emax。

正如开头说什么防止任何人创建它自己的浮点表示由整数有效数和浮点指数 - 即使有效位数和基数可以是自定义的。但是这种实现需要为其浮点数算术提供支持。因此,如果问题是有可能设计出这样一个数字比答案是肯定的如果问题是它是否实用答案是肯定再次。有关详细信息,请参阅GNU MPFR库实现。

1

当前的浮点格式被设计为精确地存储有理数的子集,特别是具有终止二进制分数表示的特定数字。 2^0.25是两个第四个根,是一个无理数,也就是将它乘以任何有理数的结果,包括7x2ˆ0.25

您可以非常接近它作为具有整数指数的传统浮点数。例如,在Java 7*Math.pow(2,0.25)中。

浮点数一般用作近似值,所以对大多数情况来说这是一个可接受的解决方案。你有一个应用程序,这不会是一个解决方案?

您还会问是否符合标准。它肯定不符合IEEE 754.你还没有说明任何好处,并且考虑到它的复杂性,将它带入标准将会带来很大的好处。

相关问题