Namespaces
Variants

Standard library header <cfloat>

From cppreference.net
Standard library headers

该头文件最初作为 <float.h> 存在于C标准库中。

此头文件是 类型支持 库的组成部分,更具体地说,它属于 C数值限制接口 的一部分。

FLT_RADIX
用于表示所有三种浮点类型的基数(整数进制)
(宏常量)
DECIMAL_DIG
(C++11)
long double 转换为至少 DECIMAL_DIG 位十进制数字再转回 long double 是恒等转换:这是序列化/反序列化 long double 所需的十进制精度(另见 std::numeric_limits::max_digits10
(宏常量)
FLT_DECIMAL_DIG DBL_DECIMAL_DIG LDBL_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_MIN DBL_MIN LDBL_MIN
分别为 float double long double 的最小归一化正值
(宏常量)
FLT_TRUE_MIN DBL_TRUE_MIN LDBL_TRUE_MIN
(C++17)
分别为 float double long double 的最小正值
(宏常量)
FLT_MAX DBL_MAX LDBL_MAX
分别为 float double long double 的最大有限值
(宏常量)
FLT_EPSILON DBL_EPSILON LDBL_EPSILON
分别为 float double long double 1.0 与下一个可表示值之间的差值
(宏常量)
FLT_DIG DBL_DIG LDBL_DIG
在文本 → float / double / long double → 文本往返中保证不因舍入或溢出而改变的十进制位数(解释见 std::numeric_limits::digits10
(宏常量)
FLT_MANT_DIG DBL_MANT_DIG LDBL_MANT_DIG
分别为 float double long double 在不损失精度的情况下可表示的基数 FLT_RADIX 位数
(宏常量)
FLT_MIN_EXP DBL_MIN_EXP LDBL_MIN_EXP
最小负整数,使得 FLT_RADIX 的该整数减一次幂是归一化的 float double long double
(宏常量)
FLT_MIN_10_EXP DBL_MIN_10_EXP LDBL_MIN_10_EXP
最小负整数,使得 10 的该次幂是归一化的 float double long double
(宏常量)
FLT_MAX_EXP DBL_MAX_EXP LDBL_MAX_EXP
最大正整数,使得 FLT_RADIX 的该整数减一次幂是可表示的有限 float double long double
(宏常量)
FLT_MAX_10_EXP DBL_MAX_10_EXP LDBL_MAX_10_EXP
最大正整数,使得 10</span

概要

#define FLT_ROUNDS           /* 参见定义 */
#define FLT_EVAL_METHOD      /* 参见定义 */
#define FLT_HAS_SUBNORM      /* 参见定义 */
#define DBL_HAS_SUBNORM      /* 参见定义 */
#define LDBL_HAS_SUBNORM     /* 参见定义 */
#define FLT_RADIX            /* 参见定义 */
#define FLT_MANT_DIG         /* 参见定义 */
#define DBL_MANT_DIG         /* 参见定义 */
#define LDBL_MANT_DIG        /* 参见定义 */
#define FLT_DECIMAL_DIG      /* 参见定义 */
#define DBL_DECIMAL_DIG      /* 参见定义 */
#define LDBL_DECIMAL_DIG     /* 参见定义 */
#define DECIMAL_DIG          /* 参见定义 */
#define FLT_DIG              /* 参见定义 */
#define DBL_DIG              /* 参见定义 */
#define LDBL_DIG             /* 参见定义 */
#define FLT_MIN_EXP          /* 参见定义 */
#define DBL_MIN_EXP          /* 参见定义 */
#define LDBL_MIN_EXP         /* 参见定义 */
#define FLT_MIN_10_EXP       /* 参见定义 */
#define DBL_MIN_10_EXP       /* 参见定义 */
#define LDBL_MIN_10_EXP      /* 参见定义 */
#define FLT_MAX_EXP          /* 参见定义 */
#define DBL_MAX_EXP          /* 参见定义 */
#define LDBL_MAX_EXP         /* 参见定义 */
#define FLT_MAX_10_EXP       /* 参见定义 */
#define DBL_MAX_10_EXP       /* 参见定义 */
#define LDBL_MAX_10_EXP      /* 参见定义 */
#define FLT_MAX              /* 参见定义 */
#define DBL_MAX              /* 参见定义 */
#define LDBL_MAX             /* 参见定义 */
#define FLT_EPSILON          /* 参见定义 */
#define DBL_EPSILON          /* 参见定义 */
#define LDBL_EPSILON         /* 参见定义 */
#define FLT_MIN              /* 参见定义 */
#define DBL_MIN              /* 参见定义 */
#define LDBL_MIN             /* 参见定义 */
#define FLT_TRUE_MIN         /* 参见定义 */
#define DBL_TRUE_MIN         /* 参见定义 */
#define LDBL_TRUE_MIN        /* 参见定义 */

参见

C 文档 关于 浮点类型限制