資料類型範圍
Visual 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)
如果其名稱開頭為兩個底線 (__),則資料類型是非標準的。
下表中指定的範圍是兩端皆包含。
類型名稱 |
位元組 |
其他名稱 |
值的範圍 |
---|---|---|---|
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 |
無 |
false 或 true |
char |
1 |
無 |
預設為 –128 至 127 使用 /J 編譯時為 0 至 255 |
signed char |
1 |
無 |
–128 至 127 |
unsigned char |
1 |
無 |
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 |
視情況而定 |
無 |
請參閱本文件稍後的備註 |
float |
4 |
無 |
3.4E +/- 38 (7 位數) |
double |
8 |
無 |
1.7E +/- 308 (15 位數) |
long double |
與 double 相同 |
無 |
與 double 相同 |
wchar_t |
2 |
__wchar_t |
0 至 65,535 |
根據用法,__wchar_t 的變數會指定寬字元類型或多位元組字元類型。 在字元或字串常數之前使用 L 前置詞可指定寬字元類型常數。
signed 和 unsigned 為修飾詞,可搭配任何整數類資料類型使用,但不包括 bool。 請注意,char、signed char 和 unsigned char 是三個適用於像是多載和範本機制的不同類型。
int 和 unsigned int 類型的大小為四個位元組。 不過,可攜式程式碼不應依賴 int 的大小,因為語言標準允許依實作的特定用法。
Visual Studio 中的 C/C++ 也支援具大小的整數類型。 如需詳細資訊,請參閱 __int8、__int16、__int32、__int64 和整數限制。
如需每個類型之大小限制的詳細資訊,請參閱基本類型 (C++)。
列舉類型的範圍會根據語言內容和指定的編譯器旗標而變更。 如需詳細資訊,請參閱 C 列舉宣告和 C++ 列舉宣告。