当我运行在 Windows 和 Solaris 上编译的完全相同的代码执行完全相同的浮点计算(使用双精度)时,我得到的结果略有不同。
我知道由于舍入误差,结果并不准确。然而,我本以为舍入误差是与平台无关的,从而在两个平台上给出相同的(稍微不正确)结果,但事实并非如此。
这是正常现象,还是我的代码中存在其他问题?
在 x86 上,通常大多数计算都使用 80 位数量进行,除非强制采用双精度。我所知道的大多数其他架构都以双精度进行所有计算(同样,除非以其他方式覆盖)。
我不知道您是在 SPARC 还是 x86 上运行 Solaris,但如果是前者,那么我高度怀疑这是造成差异的原因。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)