FLT_EVAL_METHOD
定义于头文件 <float.h>
|
||
#define FLT_EVAL_METHOD /* implementation defined */ |
(C99 起) | |
指定从浮点常量和除了赋值、转型及库函数调用的所有运算(运算符、运算数的隐式转换)获得的浮点值的范围和精度。
值 | 解释 |
-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 寄存器存储值到标准大小内存位置的动作。