algorithm - 数学库中的除法函数如何处理除法运算符无法做到的精度误差?

标签 algorithm math floating-point precision

在除以两个浮点值时,由于精度错误,我得到了错误的答案。例如,1001.05/5.0 应该等于 200.21 ,但我得到了 200.2099999999。

校正结果是使用我们数学库中的除法函数而不是“/”获得的。那么这个库函数做了什么额外的事情来纠正精度错误呢?您可以解释或指出有关用于校正精度误差的标准算法的信息,此函数一定一直在使用这些算法。

最佳答案

您的数学库没有使用 float ,或者在您打印结果时四舍五入。 200.21 无法用标准 float 精确表示。

关于algorithm - 数学库中的除法函数如何处理除法运算符无法做到的精度误差?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10682192/

相关文章:

c# - 给定一个长度为 n 的列表,使用 C# 选择 k 个随机元素

algorithm - 如何求带权树的最短路径?

c# - 如何在 3d 空间 C# 中给定三个点找到圆的半径

python - json.loads在python中将小数点转换为 'e'

c - 为什么这个 float 的值与它设置的值不同?

algorithm - 第n个格雷码

c++ - 复制并取消 int 数组

c++ - 二维传热有限元库

Ruby Newton 方法给出了错误的结果?

c++ - NaN 在 float 和 double 之间的类型转换