C++数据类型范围

时间:2021-09-26 10:52:04

C++中有很多基本的数据类型,我们在使用过程中需要根据所需要存储数据的范围的不同而选择恰当的数据类型。

Visual C++ 32 位和 64 位编译器可识别本文后面的表中的类型。

  • int (unsignedint)

  • __int8 (unsigned__int8)

  • __int16 (unsigned__int16)

  • __int32 (unsigned__int32)

  • __int64 (unsigned__int64)

  • short (unsignedshort)

  • long (unsignedlong)

  • long long (unsignedlonglong)

如果其名称以两个下划线 (__) 开始,则数据类型是非标准的。

下表中指定的范围均包含起始值和结束值。

类型名称 

字节 其他名称 值的范围

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   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

根据使用方式,__wchar_t 的变量指定宽字符类型或多字节字符类型。 在字符或字符串常量前使用 L 前缀以指定宽字符类型常量。

signed 和 unsigned 是可用于任何整型(bool 除外)的修饰符。 请注意,对于重载和模板等机制而言,charsigned char 和 unsigned char 是三种不同的类型。

int 和 unsignedint 类型具有四个字节的大小。 但是,由于语言标准允许可移植代码特定于实现,因此该代码不应依赖于 int 的大小。