标准库标头 <float.h>

来自cppreference.com
< c‎ | header


此标头是类型支持库的一部分,特别是其数值极限接口。

FLT_RADIX
全部三种浮点数类型的表示所用的基数(整数基)
(宏常量)
DECIMAL_DIG
(C99)
long double 转换为带有至少 DECIMAL_DIG 个数位的十进制数,再转换回 long double 为恒等转换:此为序列化/反序列化 long double 所需的十进制精度
(宏常量)
FLT_DECIMAL_DIGDBL_DECIMAL_DIGLDBL_DECIMAL_DIG
(C11)
float/double/long double 转换为带有至少 FLT_DECIMAL_DIG/DBL_DECIMAL_DIG/LDBL_DECIMAL_DIG 个数位的十进制数,再转换回去为恒等转换:此为序列号/反序列化浮点数值所需的十进制精度。分别至少定义为 61010,或对于 IEEE float 为 9,对于 IEEE double 为 17(另见 C++ 对应物:max_digits10
(宏常量)
FLT_MINDBL_MINLDBL_MIN
分别为 floatdoublelong double 的最小正规正数值
(宏常量)
FLT_TRUE_MINDBL_TRUE_MINLDBL_TRUE_MIN
(C11)
分别为 floatdoublelong double 的最小整数值
(宏常量)
FLT_MAXDBL_MAXLDBL_MAX
分别为 floatdoublelong double 的最大有穷值
(宏常量)
FLT_EPSILONDBL_EPSILONLDBL_EPSILON
分别为 1.0floatdoublelong double 的下一个可表示值之差的绝对值
(宏常量)
FLT_DIGDBL_DIGLDBL_DIG
在“文本 → float/double/long double → 文本”往返转换中保证被保留且不会印舍入或溢出而改变的十进制数位个数(参见 C++ 对应物 digits10 的详情)
(宏常量)
FLT_MANT_DIGDBL_MANT_DIGLDBL_MANT_DIG
分别为 floatdoublelong double 可表示且不损失精度的 FLT_RADIX 进制有效数字数位个数
(宏常量)
FLT_MIN_EXPDBL_MIN_EXPLDBL_MIN_EXP
分别为对于 floatdoublelong double 的最小负整数,使得 FLT_RADIX 的该整数减一次方是该类型的正规值
(宏常量)
FLT_MIN_10_EXPDBL_MIN_10_EXPLDBL_MIN_10_EXP
分别为对于 floatdoublelong double 的最小负整数,使得 10 的该整数次方是该类型的正规值
(宏常量)
FLT_MAX_EXPDBL_MAX_EXPLDBL_MAX_EXP
分别为对于 floatdoublelong double 的最大正整数,使得 FLT_RADIX 的该整数减一次方是该类型的可表示有穷值
(宏常量)
FLT_MAX_10_EXPDBL_MAX_10_EXPLDBL_MAX_10_EXP
分别为对于 floatdoublelong double 的最大正整数,使得 10 的该整数次方是该类型的可表示有穷值
(宏常量)
浮点数算术的舍入模式
(宏常量)
指定所有算术运算以什么精度执行
(宏常量)
FLT_HAS_SUBNORMDBL_HAS_SUBNORMLDBL_HAS_SUBNORM
(C11)(C23 弃用)
类型是否支持非正规)数值:
-1 – 不确定, 0 – 不支持, 1 – 支持
(宏常量)

概要

#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        /* 见定义 */