1. 程式人生 > >VC中C++數值範圍的確定

VC中C++數值範圍的確定

劃線 zh-cn 但是 結束 允許 整數 enum double com

1. Visual C++ 32 位和 64 位編譯器可識別本文後面的表中的類型。

技術分享圖片

如果其名稱以兩個下劃線 (__) 開始,則數據類型是非標準的。

下表中指定的範圍均包含起始值和結束值。

類型名稱字節其他名稱值的範圍
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(默認)

0 到 255(當使用 /J 編譯時)
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 無(與無符號的 __int64 等效) 0 到 18,446,744,073,709,551,615
enum varies 請參閱本文後面的備註
浮動 4 3.4E +/- 38(7 位數)
double 8 1.7E +/- 308(15 位數)
long double 與 double 相同 與 double 相同
wchar_t 2 __wchar_t 0 到 65,535

2. 代碼移植性問題,由於 語言標準允許可移植代碼特定於實現,因此推薦不使用 _ _ intX 類型,因為這是Microsoft VC獨有的數據類型。

  (1)intunsigned``int 類型具有四個字節的大小。

   但是,由於語言標準允許可移植代碼特定於實現,因此該代碼不應依賴於 int 的大小。

   (2)__intn 類型說明符聲明 8 位、16 位、32 位或 64 位整數變量,其中 n 為 8、16、32 或 64。

endl;

VC中C++數值範圍的確定