标准库头文件 <cfloat>
来自 cppreference.com
此头文件最初位于 C 标准库中,名为 <float.h>.
此头文件是 类型支持 库的一部分,特别是它是 C 数值限制接口 的一部分。
[编辑] 宏
FLT_RADIX |
所有三种浮点类型表示中使用的基数(整数基数) (宏常量) |
DECIMAL_DIG (C++11) |
从 long double 到十进制,至少有 DECIMAL_DIG 位数,然后转换回 long double,这是恒等转换:这是序列化/反序列化 long double 所需的十进制精度(另请参阅 std::numeric_limits::max_digits10)。 (宏常量) |
FLT_DECIMAL_DIGDBL_DECIMAL_DIGLDBL_DECIMAL_DIG (C++17) |
从 float/double/long double 到十进制,至少有 FLT_DECIMAL_DIG/DBL_DECIMAL_DIG/LDBL_DECIMAL_DIG 位数,然后转换回,这是恒等转换:这是序列化/反序列化浮点数所需十进制精度(另请参阅 std::numeric_limits::max_digits10)。至少定义为 6、10 和 10,或者对于 IEEE float 为 9,对于 IEEE double 为 17。 (宏常量) |
FLT_MINDBL_MINLDBL_MIN |
分别为 float、double 和 long double 的最小正规格化值 (宏常量) |
FLT_TRUE_MINDBL_TRUE_MINLDBL_TRUE_MIN (C++17) |
分别为 float、double 和 long double 的最小正值 (宏常量) |
FLT_MAXDBL_MAXLDBL_MAX |
分别为 float、double 和 long double 的最大有限值 (宏常量) |
FLT_EPSILONDBL_EPSILONLDBL_EPSILON |
分别为 float、double 和 long double 中 1.0 与下一个可表示值之间的差 (宏常量) |
FLT_DIGDBL_DIGLDBL_DIG |
在文本 → float/double/long double → 文本往返过程中,由于舍入或溢出而保证保留的十进制位数(有关说明,请参阅 std::numeric_limits::digits10)。 (宏常量) |
FLT_MANT_DIGDBL_MANT_DIGLDBL_MANT_DIG |
分别为 float、double 和 long double 可以不丢失精度表示的 FLT_RADIX 进制位数 (宏常量) |
FLT_MIN_EXPDBL_MIN_EXPLDBL_MIN_EXP |
分别为 float、double 和 long double,使 FLT_RADIX 的幂比该整数少 1 是一个规格化值。 (宏常量) |
FLT_MIN_10_EXPDBL_MIN_10_EXPLDBL_MIN_10_EXP |
分别为 float、double 和 long double,使 10 的幂为一个规格化值。 (宏常量) |
FLT_MAX_EXPDBL_MAX_EXPLDBL_MAX_EXP |
分别为 float、double 和 long double,使 FLT_RADIX 的幂比该整数少 1 是一个可表示的有限值。 (宏常量) |
FLT_MAX_10_EXPDBL_MAX_10_EXPLDBL_MAX_10_EXP |
分别为 float、double 和 long double,使 10 的幂为一个可表示的有限值。 (宏常量) |
浮点运算的默认舍入模式 (宏常量) | |
(C++11) |
指定所有算术运算的精度 (宏常量) |
FLT_HAS_SUBNORMDBL_HAS_SUBNORMLDBL_HAS_SUBNORM (C++17) |
指定类型是否支持非规格化(非规格化)数。 -1 – 不能确定,0 – 不存在,1 – 存在 (宏常量) |
[编辑] 概要
#define FLT_ROUNDS /* see definition */ #define FLT_EVAL_METHOD /* see definition */ #define FLT_HAS_SUBNORM /* see definition */ #define DBL_HAS_SUBNORM /* see definition */ #define LDBL_HAS_SUBNORM /* see definition */ #define FLT_RADIX /* see definition */ #define FLT_MANT_DIG /* see definition */ #define DBL_MANT_DIG /* see definition */ #define LDBL_MANT_DIG /* see definition */ #define FLT_DECIMAL_DIG /* see definition */ #define DBL_DECIMAL_DIG /* see definition */ #define LDBL_DECIMAL_DIG /* see definition */ #define DECIMAL_DIG /* see definition */ #define FLT_DIG /* see definition */ #define DBL_DIG /* see definition */ #define LDBL_DIG /* see definition */ #define FLT_MIN_EXP /* see definition */ #define DBL_MIN_EXP /* see definition */ #define LDBL_MIN_EXP /* see definition */ #define FLT_MIN_10_EXP /* see definition */ #define DBL_MIN_10_EXP /* see definition */ #define LDBL_MIN_10_EXP /* see definition */ #define FLT_MAX_EXP /* see definition */ #define DBL_MAX_EXP /* see definition */ #define LDBL_MAX_EXP /* see definition */ #define FLT_MAX_10_EXP /* see definition */ #define DBL_MAX_10_EXP /* see definition */ #define LDBL_MAX_10_EXP /* see definition */ #define FLT_MAX /* see definition */ #define DBL_MAX /* see definition */ #define LDBL_MAX /* see definition */ #define FLT_EPSILON /* see definition */ #define DBL_EPSILON /* see definition */ #define LDBL_EPSILON /* see definition */ #define FLT_MIN /* see definition */ #define DBL_MIN /* see definition */ #define LDBL_MIN /* see definition */ #define FLT_TRUE_MIN /* see definition */ #define DBL_TRUE_MIN /* see definition */ #define LDBL_TRUE_MIN /* see definition */
[编辑] 另请参阅
C 文档 中有关 浮点类型限制 的内容
|