计算最大浮动值

时间:2015-10-10 16:59:55

标签: loops math floating-point precision

我想迭代地计算最大浮点值(比如说f64)。我想的是将一些数字乘以1.0倍2直到达到无穷大,但它不会给我一个确切的数字。像添加macheps这样的东西既不会因为速度太慢而无法工作。我相信你每次达到无穷大时都必须增加/减少除数/乘数,但我不知道怎么做。

1 个答案:

答案 0 :(得分:0)

您的编程语言的标准库应该为您提供表示类型的数字限制的常量。但是,如果你想尝试一个循环:你应该仔细阅读文档中的错误(包括精度损失和溢出),并记住最大的可表示数不仅仅是最大的指数,而是最大的指数乘以最大的指数尾数。

也就是说,计算2的幂,直到你得到一个错误,然后将它们从最大到最小添加,直到你得到一个错误,应该有效。