命名空间
变体
操作

FLT_EVAL_METHOD

来自 cppreference.cn
< c‎ | 类型‎ | 限制
定义于头文件 <float.h>
#define FLT_EVAL_METHOD /* 由实现定义 */
(C99 起)

指定从浮点常量和所有操作(运算符、操作数的隐式转换)中获得的浮点值的范围和精度,除了赋值、类型转换和库函数调用。

解释
负值,除了 -1 由实现定义的行为
-1 默认精度未知
0 所有操作和常量都在所用类型的范围和精度内进行评估。此外,float_tdouble_t 分别等效于 floatdouble
1 所有操作和常量都在 double 的范围和精度内进行评估。此外,float_tdouble_t 都等效于 double
2 所有操作和常量都在 long double 的范围和精度内进行评估。此外,float_tdouble_t 都等效于 long double

[编辑] 注意

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

类型转换和赋值会剥离任何多余的范围和精度:这模拟了将扩展精度FPU寄存器中的值存储到标准大小内存位置的操作。

[编辑] 另请参阅

至少与 float 一样宽的最有效浮点类型
(类型定义) [编辑]
至少与 double 一样宽的最有效浮点类型
(类型定义) [编辑]
C++ 文档 关于 FLT_EVAL_METHOD