資料型別範圍
適用於 32 位元與 64 位元編譯器,Microsoft Visual C++ 會辨認的型別,如下表所示。 請注意下列型別也擁有未簽章的表單:
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 |
帶正負號 |
-2,147,483,648 至 2,147,483,647 |
unsigned int |
4 |
不帶正負號 |
0 至 4,294,967,295 |
__int8 |
1 |
char |
-128 至 127 |
不帶正負號的 __int8 |
1 |
unsigned char |
0 至 255 |
__int16 |
2 |
簡短且短暫的 int,帶正負號的短 int |
-32,768 至 32,767 |
不帶正負號的 __int16 |
2 |
不帶正負號的簡短、 不帶正負號短 int |
0 至 65,535 |
__int32 |
4 |
簽章,帶正負號的 int int |
-2,147,483,648 至 2,147,483,647 |
不帶正負號的 __int32 |
4 |
不帶正負號、 不帶正負號的 int |
0 至 4,294,967,295 |
__int64 |
8 |
長長的時間,簽署的時間長度 |
-9,223,372,036,854,775,808 至 9,223,372,036,854,775,807 |
unsigned __int64 |
8 |
未簽章的時間長度 |
0 至 18,446,744,073,709,551,615 |
bool |
1 |
無 |
false 或 true |
char |
1 |
無 |
-128 到 127,根據預設值 0 至 255 編譯與時 /J |
signed char |
1 |
無 |
-128 至 127 |
unsigned char |
1 |
無 |
0 至 255 |
short |
2 |
簡短的 int,帶正負號的短 int |
-32,768 至 32,767 |
unsigned short |
2 |
不帶正負號的短 int |
0 至 65,535 |
long |
4 |
完整的 int,帶正負號的長 int |
-2,147,483,648 至 2,147,483,647 |
unsigned long |
4 |
不帶正負號的長 int |
0 至 4,294,967,295 |
長長的時間 |
8 |
無 (但相當於 __int64) |
-9,223,372,036,854,775,808 至 9,223,372,036,854,775,807 |
未簽章的時間長度 |
8 |
無 (但相當於不帶正負號的 __int64) |
0 至 18,446,744,073,709,551,615 |
enum |
固定不變 |
無 |
請參閱<備註>。 |
float |
4 |
無 |
3.4E + /-38 (7 位數) |
double |
8 |
無 |
1.7 E + /-308 (15 位數) |
長雙 |
雙相同 |
無 |
雙相同 |
wchar_t |
2 |
__wchar_t |
0 至 65,535 |
變數的__wchar_t指定寬字元或多位元組字元集的型別。 By default wchar_t is a typedef for unsignedshort. 使用 l 前置字元或字串來指定整個字元型別常數的常數。 以編譯時 /zc: wchar_t 或 /Za,編譯器可以區別unsignedshort和wchar_t函式多載之用。
Signed與unsigned是以外的任何整數類資料型別可以使用的修飾詞bool。 char型別的作用如同signed char預設狀況下,但是您可以指定 /J (編譯器選項),讓像unsigned char預設狀況下。
int和unsignedint型別具有系統文字的大小: 4 個位元組。 不過,可移植的程式碼不應該依存於大小的int。
Microsoft C/C++ 也會提供支援調整大小的整數型別。 請參閱 __int8、 __int16、 __int32、 __int64 如需詳細資訊。 請參閱整數限制。
請參閱主要資料型別如需的大小限制的每一種類型的詳細資訊。
列舉型別的範圍語言內容而有所不同,並指定編譯器旗標。 在 c 和 C++ 非 CLR 列舉型別、 列舉型別常數和列舉型別的值表示在型別方面int。 C + + CLR 列舉型別可能會備份由指定的純量型別。 列舉型別的範圍被定義為可以儲存在位元欄位的最小值和其列舉值的最大值的最小和最大值。 不過,C++ 編譯器會讓指定列舉型別的支援型別的範圍內的任何值 (這可能需要轉型)。 如需詳細資訊,請參閱C 的列舉型別宣告和C + + 列舉宣告。