跳转到内容

C 编程/limits.h

来自维基教科书,自由的教科书

limits.h 包含常用变量类型特征的定义。这些值是特定于实现的,但在符合 C 标准的实现中,其大小可能不小于某些指定值。

C99 标准还规定了<stdint.h>头文件,它提供了显式大小的平台无关整数数据类型的名称和限制(例如,int32_t 表示 32 位有符号整数)。

成员常量

[编辑 | 编辑源代码]

“最小量级值”列是标准中规定的该常量的最小可能量级。特别地,_MIN 值代表了很少使用的补码和符号幅度形式中可表示的最小量级。大多数实现的至少部分这些数字的量级更大。例如:

  • 补码实现的 SCHAR_MIN 等于 -128(其他所有 _MIN 值也是如此)。
  • 32 位实现将 INT_MAX 设置为 +2,147,483,647(INT_MINUINT_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
[编辑 | 编辑源代码]
华夏公益教科书