数据类型范围

对 32 位和 64 位编译器, Microsoft Visual C++ 识别在下表中显示的类型。注意以下类型还具有无符号形式:

  • int (unsignedint)

  • __int8 (unsigned__int8)

  • __int16 (unsigned__int16)

  • __int32 (unsigned__int32)

  • __int64 (unsigned__int64)

  • short (unsignedshort)

  • long (unsignedlong)

  • longlong (unsignedlonglong)

类型名称

字节

其他名称

值的范围

int

4

签名

-2,147,483,648 到 2,147,483,647

unsigned int

4

unsigned

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

unsigned short,无符号短 int

0 到 65,535

__int32

4

签名的,签名的 int, int

-2,147,483,648 到 2,147,483,647

无符号 __int32

4

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

unsigned long 长

0 到 18,446,744,073,709,551,615

bool

1

错误或真

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

无符号 long int

0 到 4,294,967,295

长时间

8

对 __int64 的非 (不过,等效)

-9,223,372,036,854,775,808 到 9,223,372,036,854,775,807

unsigned 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 位)

长的二进制文件

和 double 相同

和 double 相同

wchar_t

2

__wchar_t

0 到 65,535

__wchar_t 的变量指定一个宽字符或多字节字符类型。默认情况下 wchar_t 是 unsigned的shorttypedef 。在常数或字符的字符串之前使用 L 标题指定为宽字符类型的常量。在使用编译 /Zc: wchar_t/Za时,编译器无法分清函数重载目的 unsignedshort 和 wchar_t 之间。

Signed 和 unsigned 是可用于除 bool的任何整型修饰符。默认情况下 char 类型的行为与 signed char ,但是,您可以指定 /J (编译器可选) 默认情况下对行为与 unsigned char 。

int 和 unsignedint 类型具有系统的范围:四个字节。但是,可移植代码不应依赖于 int的大小。

Microsoft C/C++ 函数为大小的整数类型还支持。请参见 __int8, __int16, __int32, __int64 有关更多信息。另请参见 INTEGER 限制

请参见 基础类型 有关每个类型的范围限制的更多信息。

枚举类型的大小作为语言上下文和指定的编译器标志更改。在 C 和 C++ 非 CLR 枚举,枚举枚举类型的常量和值表示基于类型 int。C++ CLR 枚举能由一个指定的标量类型返回。枚举的范围定义为位域中存储的最小日期和最大其枚举数的最小值和最大值。但是, C++ 编译器将允许在枚举的后备类型内的所有值指定 (这可能需要转换)。更多信息,请参见 C枚举声明C++枚举声明

请参见

参考

C++关键字

基础类型(C++)