![]() |
1
2
这完全取决于您希望从数字中获得的精度,双精度中的最大值非常大,但存在巨大的舍入误差。例如,如果您需要1e-3的精度,则在浮点之后至少需要10位,这意味着您的任何指数都不应大于尾数减去10的位数,对于双精度数,也就是说,52-10=42,这样最大值约为4e12,相应的最小值约为2.5e-13。 |
![]() |
2
3
使用
小正值=
最大正值=
显然,这也适用于其他类型。 不,最小正值的倒数不等于最大值。 |
![]() |
3
3
只是在找 numeric limits 信息? 该链接显示了如何使用C++标准库找到ε、非规范化Min等。在C标准库中没有与之等效的。你需要自己计算它们(维基百科关于“机器epsilon”的文章给出了一个例子)。 至于算法,不能帮到你,这不是你原来问题的一部分,对不起。 |