数据类型常量

数据类型常量是实现相关的整型和浮点数据类型允许的值范围。

整型类型常量

这些常量提供了整型数据类型的范围。 要使用这些常量,请在源文件中包含 limits.h 标头:

#include <limits.h>

注意

/J 编译器选项将默认的 char 类型从 signed char 更改为 unsigned char

常量 Value 说明
CHAR_BIT 8 char 中的位数
SCHAR_MIN (-128) 最小 signed char
SCHAR_MAX 127 最大 signed char
UCHAR_MAX 255 (0xff) 最大 unsigned char
CHAR_MIN (-128)(如果使用了 /J 选项,则为 0) 最小 char
CHAR_MAX 127(如果使用了 /J 选项,则为 255) 最大 char
MB_LEN_MAX 5 多字节 char 中的最大字节数
SHRT_MIN -32768 最小 signed short
SHRT_MAX 32767 最大 signed short
USHRT_MAX 65535 (0xffff) 最大 unsigned short
INT_MIN (-2147483647 - 1) 最小 signed int
INT_MAX 2147483647 最大 signed int
UINT_MAX 4294967295 (0xffffffff) 最大 unsigned int
LONG_MIN (-2147483647L - 1) 最小 signed long
LONG_MAX 2147483647L 最大 signed long
ULONG_MAX 4294967295UL (0xfffffffful) 最大 unsigned long
LLONG_MIN (-9223372036854775807LL - 1) 最小值 signed long long__int64
LLONG_MAX 9223372036854775807LL 最大值 signed long long__int64
ULLONG_MAX 0xffffffffffffffffull 最大 unsigned long long
_I8_MIN (-127i8 - 1) 最小有符号的 8 位数值
_I8_MAX 127i8 最大有符号的 8 位数值
_UI8_MAX 0xffui8 最大无符号的 8 位数值
_I16_MIN (-32767i16 - 1) 最小有符号的 16 位数值
_I16_MAX 32767i16 最大有符号的 16 位数值
_UI16_MAX 0xffffui16 最大无符号的 16 位数值
_I32_MIN (-2147483647i32 - 1) 最小有符号的 32 位数值
_I32_MAX 2147483647i32 最大有符号的 32 位数值
_UI32_MAX 0xffffffffui32 最大无符号的 32 位数值
_I64_MIN (-9223372036854775807 - 1) 最小有符号的 64 位数值
_I64_MAX 9223372036854775807 最大有符号的 64 位数值
_UI64_MAX 0xffffffffffffffffui64 最大无符号的 64 位数值
_I128_MIN (-170141183460469231731687303715884105727i128 - 1) 最小有符号的 128 位数值
_I128_MAX 170141183460469231731687303715884105727i128 最大有符号的 128 位数值
_UI128_MAX 0xffffffffffffffffffffffffffffffffui128 最大无符号的 128 位数值
SIZE_MAX 如果定义了 _WIN64,则与 _UI64_MAX 相同,否则为 UINT_MAX 最大本机整数大小
RSIZE_MAX 与(SIZE_MAX>> 1)相同 最大安全裤整数大小

浮点类型常量

以下常量提供了 long doubledoublefloat 数据类型的范围和其他特性。 要使用这些常量,请在源文件中包含 float.h 标头:

#include <float.h>
常量 Value 说明
DBL_DECIMAL_DIG 17 十进制位数的舍入精度
DBL_DIG 15 精度的小数位数
DBL_EPSILON 2.2204460492503131e-016 最小,因而 1.0 + DBL_EPSILON != 1.0
DBL_HAS_SUBNORM 1 类型支持低能数(非规格化)数
DBL_MANT_DIG 53 有效数字(尾数)的位数
DBL_MAX 1.7976931348623158e+308 最大值
DBL_MAX_10_EXP 308 最大十进制指数
DBL_MAX_EXP 1024 最大二进制指数
DBL_MIN 2.2250738585072014e-308 最小正规值
DBL_MIN_10_EXP (-307) 最小十进制指数
DBL_MIN_EXP (-1021) 最小二进制指数
_DBL_RADIX 2 指数基数
DBL_TRUE_MIN 4.9406564584124654e-324 最小次正规值
FLT_DECIMAL_DIG 9 十进制位数的舍入精度
FLT_DIG 6 十进制位数的精度
FLT_EPSILON 1.192092896e-07F 最小,因而 1.0 + FLT_EPSILON != 1.0
FLT_HAS_SUBNORM 1 类型支持低能数(非规格化)数
FLT_MANT_DIG 24 有效数字(尾数)的位数
FLT_MAX 3.402823466e+38F 最大值
FLT_MAX_10_EXP 38 最大十进制指数
FLT_MAX_EXP 128 最大二进制指数
FLT_MIN 1.175494351e-38F 最小正规值
FLT_MIN_10_EXP (-37) 最小十进制指数
FLT_MIN_EXP (-125) 最小二进制指数
FLT_RADIX 2 指数基数
FLT_TRUE_MIN 1.401298464e-45F 最小次正规值
LDBL_DIG 15 精度的小数位数
LDBL_EPSILON 2.2204460492503131e-016 最小,因而 1.0 + LDBL_EPSILON != 1.0
LDBL_HAS_SUBNORM 1 类型支持低能数(非规格化)数
LDBL_MANT_DIG 53 有效数字(尾数)的位数
LDBL_MAX 1.7976931348623158e+308 最大值
LDBL_MAX_10_EXP 308 最大十进制指数
LDBL_MAX_EXP 1024 最大二进制指数
LDBL_MIN 2.2250738585072014e-308 最小正规值
LDBL_MIN_10_EXP (-307) 最小十进制指数
LDBL_MIN_EXP (-1021) 最小二进制指数
_LDBL_RADIX 2 指数基数
LDBL_TRUE_MIN 4.9406564584124654e-324 最小次正规值
DECIMAL_DIG DBL_DECIMAL_DIG 相同 默认(双精度)十进制位数的舍入精度

另请参阅

全局常数