|
1
7
减法通常通过Kahan方法处理。 对于乘法,有一些算法可以将两个浮点数的乘积转换为两个浮点数的和,而无需舍入,此时可以使用Kahan求和或其他方法,具体取决于下一步需要对乘积执行的操作。
在这两次操作之后,如果没有发生溢流或下溢,
请注意,所有这一切很快就会成为一场失败的战斗。有一个非常狭窄的范围内的情况下,这些技巧是有益的-对于任何更复杂的,它是更好的只是使用一个更广泛的精度浮点库,如 mpfr . 除非你是这一领域的专家(或者想成为专家),否则通常最好只是学会使用这样的库。 |
|
|
2
2
numerically stable 它本身就是一门学科和研究领域。这不是你可以通过“备忘单”有意义地做(或学)的事情——它需要特定的数学知识,需要针对每个特定的算法来做。如果你想学习如何做到这一点,维基百科文章中的参考资料听起来相当不错:Nicholas J.Higham,数值算法的准确性和稳定性,工业和应用数学学会,费城,1996年。书号0-89871-355-2。 诊断 interval arithmetic . |
|
|
3
0
您可以使用bignums和有理分数,而不是浮点数,在这种情况下,只有有限的内存可用性才能满足精度要求。 |
|
|
Piero Borrelli · 使用4/5舍入规则舍入数字 10 年前 |