C 编程/limits.h
外观
< C 编程
limits.h 包含常用变量类型特征的定义。这些值是特定于实现的,但在符合 C 标准的实现中,其大小可能不小于某些指定值。
C99 标准还规定了<stdint.h>
头文件,它提供了显式大小的平台无关整数数据类型的名称和限制(例如,int32_t
表示 32 位有符号整数)。
“最小量级值”列是标准中规定的该常量的最小可能量级。特别地,_MIN
值代表了很少使用的补码和符号幅度形式中可表示的最小量级。大多数实现的至少部分这些数字的量级更大。例如:
- 补码实现的
SCHAR_MIN
等于 -128(其他所有_MIN
值也是如此)。 - 32 位实现将
INT_MAX
设置为 +2,147,483,647(INT_MIN
和UINT_MAX
也是如此)。 - 支持 Unicode 的实现将
MB_LEN_MAX
设置为 4 或更大。 - 许多 DSP 的
CHAR_BIT
等于 16 或更大[1][2]。
名称 | 描述 | 典型值 | ANSI 标准最小值 - 或最大量级值 | |
---|---|---|---|---|
CHAR_BIT |
char 中的位数 | 8 | ≥+8 | |
SCHAR_MIN |
有符号 char 的最小值 | -128 | ≤−127 | |
SCHAR_MAX |
有符号 char 的最大值 | +127 | ≥+127 | |
UCHAR_MAX |
无符号 char 的最大值 | +255 | ≥+255 | |
CHAR_MIN |
char 的最小值 | -128 | ≤−127 (如果 char 表示为signed char ;否则 ≤0) | |
CHAR_MAX |
char 的最大值 | +127 | ≥+127 (如果 char 表示为signed char ;否则 ≥+255) | |
MB_LEN_MAX |
所有语言环境中字符的最大多字节长度 | 变化,通常至少为 4 | ≥+1 | |
SHRT_MIN |
短整型的最小值 | -32,768 | ≤−32,767 | |
SHRT_MAX |
短整型的最大值 | +32,767 | ≥+32,767 | |
USHRT_MAX |
无符号短整型的最大值 | +65,535 | ≥+65,535 | |
INT_MIN |
整型的最小值 | 16 位编译器 | -32768 或 −2,147,483,648 | ≤−32,767 |
32 或 64 位编译器 | −2,147,483,648 | |||
INT_MAX |
整型的最大值 | 16 位编译器 | +32,767 或 +2,147,483,647 | ≥+32,767 |
32 或 64 位编译器 | +2,147,483,647 | |||
UINT_MAX |
无符号整型的最大值 | 16 位编译器 | +65,535 或 +4,294,967,295 | ≥+65,535 |
32 或 64 位编译器 | +4,294,967,295 | |||
LONG_MIN |
长整型的最小值 | 16 或 32 位编译器 | −2,147,483,648 | ≤−2,147,483,647 |
64 位编译器 | −2,147,483,648 或 −9,223,372,036,854,775,808 | |||
LONG_MAX |
长整型的最大值 | 16 或 32 位编译器 | +2,147,483,647 | ≥+2,147,483,647 |
64 位编译器 | +2,147,483,647 或 +9,223,372,036,854,775,807 | |||
ULONG_MAX |
无符号长整型的最大值 | 16 或 32 位编译器 | +4,294,967,295 | ≥+4,294,967,295 |
64 位编译器 | +4,294,967,295 或 +18,446,744,073,709,551,615 | |||
LLONG_MIN |
长长整型的最小值 | −9,223,372,036,854,775,808 | ≤−9,223,372,036,854,775,807 | |
LLONG_MAX |
长长整型的最大值 | +9,223,372,036,854,775,807 | ≥+9,223,372,036,854,775,807 | |
ULLONG_MAX |
无符号长长整型的最大值 | +18,446,744,073,709,551,615 | ≥+18,446,744,073,709,551,615 |
- C 指南--2.5 limits.h,访问时间为 2006 年 9 月。