您总是在双精度计算中遇到相同的错误:将结果转换为十进制后您最多只能得到15个有效数字,其余数字都是随机噪声数字。 /fp:fast和/fp:precise之间的区别在于这些噪声数字发生了什么变化。/fp:precise选项解决了x86 FPU中的问题,它使用80位的精度存储中间结果。如果中间值保留在寄存器中,则可能导致微妙的不同噪声数字值。使用/fp:precise,代码生成器被强制将这些值刷新回内存,将其截断为64位。这很慢,但会产生更一致的噪声。如果您犯了比较浮点数值是否相等的罪行而没有epsilon,则这很重要。对于大多数会计师来说,这太复杂了,使用以10个手指计算的数学库是常见的解决方案。这通过消除从基数10转换为基数2时生成的数字来解决噪声数字问题。代码将会变慢,远比/fp:precise慢,因为所有计算都是在软件中进行而没有硬件加速。但通常在会计应用程序中不是问题。