计算机的错误计算(四十六)
摘要 再谈浮点运算的不确定性。
计算机的错误计算(十)、(十一)以及(三)探讨了浮点数的表示误差与浮点运算的一些性质。
下面再谈浮点运算的不确定性。
1. 确保两台不同机器上得到完全相同的浮点运算结果是极其困难的。
2. 即使在同一台机器上,不同时间执行相同运算,或是使用程序的调试版与发布版,也可能出现不同的结果。
3. 不同品牌如 AMD和 Intel的中央处理器,以及SSE指令集与x87指令集的计算结果也可能存在差异。
4. AMD和 Intel处理器对一些数学函数的处理有轻微的不同(这包括sin、cos、tan和他们的逆运算)。
5. 整数取模也是一个问题。
6. GPU与CPU 上的结果不一致。
以上1~5 的内容摘自 游戏网络开发(五):浮点数的确定性。其中部分文字略做调整。