Mac OS和Windows之间的exp()精度

时间:2013-03-05 06:03:09

标签: precision exp

我在这里得到了一个代码,当我在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

我如何得到相同的结果。

1 个答案:

答案 0 :(得分:1)

  

我如何得到相同的结果。

除非OS X上的数学库使用相同的实现/算法来计算e ^ x,否则您将无法也无法获得完全相同的结果。浮点计算并不精确,处理它。