首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> C語言 >> C++ >> 關於C++

C++ 基本數據類型範圍完整表 (Visual C++ 32/64 位)

     編輯:關於C++

C++ 基本數據類型的大小與範圍在不同編譯器/平台可能不同。本文依據 Visual C++ 32 位與 64 位編譯器整理完整類型表,包含標準類型、Microsoft 擴展類型、布爾、字符、浮點、寬字符等,註明字節數、別名、有符號/無符號範圍。

整型類型表

類型名稱字節其他名稱值的範圍
int4signed-2,147,483,648 ~ 2,147,483,647
unsigned int4unsigned0 ~ 4,294,967,295
__int81char-128 ~ 127
unsigned __int81unsigned char0 ~ 255
__int162short, short int, signed short int-32,768 ~ 32,767
unsigned __int162unsigned short, unsigned short int0 ~ 65,535
__int324signed, signed int, int-2,147,483,648 ~ 2,147,483,647
unsigned __int324unsigned, unsigned int0 ~ 4,294,967,295
__int648long long, signed long long-9,223,372,036,854,775,808 ~ 9,223,372,036,854,775,807
unsigned __int648unsigned long long0 ~ 18,446,744,073,709,551,615
bool1—false 或 true
char1—-128 ~ 127 (默認)
/J 編譯選項下 0 ~ 255
signed char1—-128 ~ 127
unsigned char1—0 ~ 255
short2short int, signed short int-32,768 ~ 32,767
unsigned short2unsigned short int0 ~ 65,535
long4long int, signed long int-2,147,483,648 ~ 2,147,483,647
unsigned long4—0 ~ 4,294,967,295
long long8— (等效 __int64)-9,223,372,036,854,775,808 ~ 9,223,372,036,854,775,807
unsigned long long8— (等效無符號 __int64)0 ~ 18,446,744,073,709,551,615

枚舉類型

enum:大小視實現而定,包含用戶定義的命名整型常數集合。

浮點類型

類型字節範圍 / 精度
float43.4E ± 38 (7 位有效數字)
double81.7E ± 308 (15 位有效數字)
long double同 double與 double 相同

寬字符類型

類型字節別名範圍 / 說明
wchar_t2__wchar_t0 ~ 65,535。視用法為寬字符或多字節字符。字面量前綴 L (如 L'中', L"字符串")

關鍵說明

  1. 非標準類型:以雙下劃線 __ 開頭(如 __int8、__wchar_t)為 Microsoft 擴展,非 C++ 標準。
  2. 修飾符:signed/unsigned 可用於除 bool 外所有整型。
  3. 三種 char:char、signed char、unsigned char 是三個不同類型(重載決議、模板推導視為不同)。
  4. int 大小不固定:標準僅保證 ≥ 16 位,VC++ 為 32 位。可移植代碼不應依賴 sizeof(int)。
  5. 範圍包含邊界:表中範圍均包含起始值和結束值。

實用宏 (C 標準庫 <climits>/<cfloat>)

// 整型限制
INT_MIN, INT_MAX, UINT_MAX
LONG_MIN, LONG_MAX, ULONG_MAX
LLONG_MIN, LLONG_MAX, ULLONG_MAX (C++11)
CHAR_BIT, CHAR_MIN, CHAR_MAX, SCHAR_MIN, SCHAR_MAX, UCHAR_MAX
SHRT_MIN, SHRT_MAX, USHRT_MAX

// 浮點限制
FLT_MIN, FLT_MAX, FLT_DIG (有效數字)
DBL_MIN, DBL_MAX, DBL_DIG
LDBL_MIN, LDBL_MAX, LDBL_DIG

固定寬度整型 (C++11 <cstdint>)

跨平台推薦使用:

  • int8_t, uint8_t (精確 8 位)
  • int16_t, uint16_t
  • int32_t, uint32_t
  • int64_t, uint64_t
  • intptr_t, uintptr_t (足以容納指針)
  • intmax_t, uintmax_t (最大寬度)
  • int_fast8_t... (最快存取)
  • int_least8_t... (至少該寬度)
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved