我在这里得到了一个代码,当我在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
我怎样才能得到相同的结果。
我怎样才能得到相同的结果。
除非 OS X 上的数学库使用完全相同的实现/算法来计算e ^ x
,你不会也不可能真正得到完全相同的结果。浮点计算并不精确,请处理它。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)