資料類型範圍

Microsoft C++ 32 位和 64 位編譯器會在本文稍後的表格中辨識類型。

  • int (unsigned int)

  • __int8 (unsigned __int8)

  • __int16 (unsigned __int16)

  • __int32 (unsigned __int32)

  • __int64 (unsigned __int64)

  • short (unsigned short)

  • long (unsigned long)

  • long long (unsigned long long)

如果其名稱開頭為兩個底線 (__),則資料類型是非標準的。

下表中指定的範圍是兩端皆包含。

類型名稱 Bytes 其他名稱 值的範圍
int 4 signed -2,147,483,648 至 2,147,483,647
unsigned int 4 unsigned 0 到 4,294,967,295
__int8 1 char -128 到 127
unsigned __int8 1 unsigned char 0 至 255
__int16 2 short, short int, signed short int -32,768 至 32,767
unsigned __int16 2 unsigned short, unsigned short int 0 到 65,535
__int32 4 signed, signed int, int -2,147,483,648 至 2,147,483,647
unsigned __int32 4 unsigned, unsigned int 0 到 4,294,967,295
__int64 8 long long, signed long long -9,223,372,036,854,775,808 至 9,223,372,036,854,775,807
unsigned __int64 8 unsigned long long 0 到 18,446,744,073,709,551,615
bool 1 none falsetrue
char 1 none -128 到 127 預設

使用 編譯時 0 到 255 /J
signed char 1 none -128 到 127
unsigned char 1 none 0 至 255
short 2 short int, signed short int -32,768 至 32,767
unsigned short 2 unsigned short int 0 到 65,535
long 4 long int, signed long int -2,147,483,648 至 2,147,483,647
unsigned long 4 unsigned long int 0 到 4,294,967,295
long long 8 無 (但相當於 __int64 -9,223,372,036,854,775,808 至 9,223,372,036,854,775,807
unsigned long long 8 無 (但相當於 unsigned __int64 0 到 18,446,744,073,709,551,615
enum 視情況而異 none
float 4 none 3.4E +/- 38 (7 位數)
double 8 none 1.7E +/- 308 (15 位數)
long double 與 相同 double none double 相同
wchar_t 2 __wchar_t 0 到 65,535

根據用法, __wchar_t 的變數會指定寬字元類型或多位元組字元類型。 在字元或字串常數之前使用 L 前置詞可指定寬字元類型常數。

signedunsigned 為修飾詞,可搭配任何整數類資料類型使用,但不包括 bool。 請注意,charsigned charunsigned char 是三個適用於像是多載和範本機制的不同類型。

intunsigned int 類型的大小為四個位元組。 不過,可攜式程式碼不應依賴 int 的大小,因為語言標準允許依實作的特定用法。

Visual Studio 中的 C/C++ 也支援具大小的整數類型。 如需詳細資訊,請參閱 __int8, __int16, __int32, __int64 整數限制

如需每個類型大小限制的詳細資訊,請參閱 內建類型

列舉類型的範圍會根據語言內容和指定的編譯器旗標而變更。 如需詳細資訊,請參閱 C 列舉宣告列舉

另請參閱

關鍵字
內建類型