跳轉到內容

C 程式設計/limits.h

來自 Wikibooks,開放的書籍,開放的世界

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 signed char 的最小值 −128 ≤−127
SCHAR_MAX signed char 的最大值 +127 ≥+127
UCHAR_MAX unsigned 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 short int 的最小值 −32,768 ≤−32,767
SHRT_MAX short int 的最大值 +32,767 ≥+32,767
USHRT_MAX unsigned short int 的最大值 +65,535 ≥+65,535
INT_MIN int 的最小值 16 位編譯器 -32768 或 −2,147,483,648 ≤−32,767
32 位或 64 位編譯器 −2,147,483,648
INT_MAX int 的最大值 16 位編譯器 +32,767 或 +2,147,483,647 ≥+32,767
32 位或 64 位編譯器 +2,147,483,647
UINT_MAX unsigned int 的最大值 16 位編譯器 +65,535 或 +4,294,967,295 ≥+65,535
32 位或 64 位編譯器 +4,294,967,295
LONG_MIN long int 的最小值 16 位或 32 位編譯器 −2,147,483,648 ≤−2,147,483,647
64 位編譯器 −2,147,483,648 或 −9,223,372,036,854,775,808
LONG_MAX long int 的最大值 16 位或 32 位編譯器 +2,147,483,647 ≥+2,147,483,647
64 位編譯器 +2,147,483,647 或 +9,223,372,036,854,775,807
ULONG_MAX unsigned long int 的最大值 16 位或 32 位編譯器 +4,294,967,295 ≥+4,294,967,295
64 位編譯器 +4,294,967,295 或 +18,446,744,073,709,551,615
LLONG_MIN long long int 的最小值 −9,223,372,036,854,775,808 ≤−9,223,372,036,854,775,807
LLONG_MAX long long int 的最大值 +9,223,372,036,854,775,807 ≥+9,223,372,036,854,775,807
ULLONG_MAX unsigned long long int 的最大值 +18,446,744,073,709,551,615 ≥+18,446,744,073,709,551,615
[編輯 | 編輯原始碼]
華夏公益教科書