数值极限_C语言中文网

可能的输出:

PTRDIFF_MIN    = -9223372036854775808
PTRDIFF_MAX    = +9223372036854775807
SIZE_MAX       = 18446744073709551615
SIG_ATOMIC_MIN = -2147483648
SIG_ATOMIC_MAX = +2147483647
WCHAR_MIN      = -2147483648
WCHAR_MAX      = +2147483647
WINT_MIN       = 0
WINT_MAX       = 4294967295

定义于头文件 <float.h>

用于表示所有三种浮点数类型的底(整数基)
(宏常量)long double转换成十进制小数,再转回 long double 而保持同一值,至少需要 DECIMAL_DIG 位小数:此乃 long double 序列化/反序列化所需的十进制精度
(宏常量)

FLT_DECIMAL_DIGDBL_DECIMAL_DIGLDBL_DECIMAL_DIG

(C11)

float/double/long double 转换成十进制小数再转换回同一值,至少需要 FLT_DECIMAL_DIG/DBL_DECIMAL_DIG/LDBL_DECIMAL_DIG 位小数:此乃浮点值序列化/反序列化所需的十进制精度。标准定义至少为 6 、 10 、 10 , 而 IEEE float 为 9 , IEEE double 为 17 。(见 C++ 模仿 max_digits10
(宏常量) 分别为 floatdoublelong double 的最小正规正值
(宏常量)

FLT_TRUE_MINDBL_TRUE_MINLDBL_TRUE_MIN

(C11)

分别为 floatdoublelong double 的最小正值
(宏常量) 分别为 floatdoublelong double 的最大有限正值
(宏常量)

FLT_EPSILONDBL_EPSILONLDBL_EPSILON

分别为 1.0 与下一个可表示的floatdoublelong double 值之差
(宏常量) 保证能从文本转换为 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

分别为能够使 FLT_RADIX 的该整数减一次幂为可表示的有限的 floatdoublelong double 的最大正整数
(宏常量)

FLT_MAX_10_EXPDBL_MAX_10_EXPLDBL_MAX_10_EXP

分别为能够使 10 的该整数减一次幂为可表示的有限的 floatdoublelong double 的最大正整数
(宏常量) 浮点算术的舍入模式,等于 float_round_style
(宏常量) 中间结果所用的扩展精度: 0 表示不使用, 1 表示用 double 替代 float , 2 表示使用 long double
(宏常量)

FLT_HAS_SUBNORMDBL_HAS_SUBNORMLDBL_HAS_SUBNORM

(C11)

类型是否支持非正规(非正规)数: -1 为不确定, 0 为不支持, 1 为支持
(宏常量)