/fp:strict和/fp:precise之间的区别是什么?

18

在何时使用fp:strict而不是fp:precise? 如果我想要“更精确”的计算并避免舍入误差,是否最好使用前者?使用哪种的启发式方法是什么?

1个回答

25

标准 IEEE 754 规定了浮点数计算和内存中浮点数值的存储方法。

使用 fp:strict 意味着尊重 IEEE 754 的所有规则。 fp:strict 用于保持不同编译器和平台之间的位兼容性。

fp:precise 放宽了一些规则,但是它可以保证计算精度不会丢失。

fp:fast 允许编译器特定的优化和转换包含浮点数计算的表达式。它是最快的方法,但结果将因不同的编译器和平台而异。


1
你知道在哪里可以了解有关 :precise 放宽规则的相关知识吗? - unj2
@unj2 https://learn.microsoft.com/zh-cn/cpp/build/reference/fp-specify-floating-point-behavior?view=msvc-170 - ScienceDiscoverer

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接