Namespaces
Variants

FLT_EVAL_METHOD

来自 zh.cppreference.net
 
 
 
 
 
定义于头文件 <cfloat>
#define FLT_EVAL_METHOD /* implementation-defined */
(自 C++11)

指定除赋值和强制类型转换外,所有浮点算术运算的精度。

值 解释
除 -1 外的负值实现定义行为
-1 默认精度未知
0 所有运算和常量以所使用类型的范围和精度求值。此外,float_t 和 double_t 分别等价于 float 和 double
1 所有运算和常量以 double 的范围和精度求值。此外,float_t 和 double_t 均等价于 double
2 所有运算和常量以 long double 的范围和精度求值。此外,float_t 和 double_t 均等价于 long double

注释

无论 FLT_EVAL_METHOD 的值如何,任何浮点表达式都可能被 收缩 ,即计算时如同所有中间结果均具有无限范围和精度(除非 #pragma STDC FP_CONTRACT 处于关闭状态)。

强制转换和赋值会去除任何额外的范围和精度:这模拟了将值从扩展精度FPU寄存器存储到标准大小内存位置的操作。

参见

C 文档 关于 FLT_EVAL_METHOD