-->

Mac OS和Windows之间的EXP()精度(exp() precision between M

2019-08-17 07:05发布

我有一个代码在这里,当我在Win和Mac OS运行它们,结果的精确度是不同的,任何人都可以帮忙吗?

const double c = 1 - exp(-2.0);
double x = (139 + 0.5) / 2282.0;
x = ( 1 - exp(-2 * (1 - x))) / c;

结果都是0.979645005277687,但十六进制是不同的:

Win: 3FEF59407B6B6FF1
Mac: 3FEF59407B6B6FF2

我怎么能得到相同的结果。

Answer 1:

我怎么能得到相同的结果。

除非在OS X上的数学库使用非常相同的实现/算法计算e ^ x ,你不会也没有真正得到完全相同的结果。 浮点计算不准确,处理它。



文章来源: exp() precision between Mac OS and Windows
标签: precision exp