C++数据类型范围

Posted 大作家佚名

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C++数据类型范围相关的知识,希望对你有一定的参考价值。

C++数据类型范围

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

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)

如果其名称以两个下划线 (__) 开始,则数据类型是非标准的。下表中指定的范围均包含起始值和结束值。

类型名称字节其他名称值的范围
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
bool1false 或 true
char1-128 到 127 默认 0 to 255 when compiled by using /J
signed char1-128 到 127
unsigned char10 到 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 long4unsigned long int0 到 4,294,967,295
long long8无 (,但等效于 __int64)-9,223,372,036,854,775,808 到 9,223,372,036,854,775,807
unsigned long long8无 (,但等效于 unsigned __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

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

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

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

Visual Studio 中的 C/C++ 还支持按大小分类的整型。 有关详细信息,请参阅 __int8, __int16, __int32, __int64 和 整数限制。

参考:https://docs.microsoft.com/zh-cn/cpp/cpp/data-type-ranges?view=msvc-170

以上是关于C++数据类型范围的主要内容,如果未能解决你的问题,请参考以下文章

C++之数据类型及其值的范围

c++枚举类型的取值范围

C++基本数据类型的字节数范围大小溢出处理

C++基本数据类型的字节数与范围大小

OpenCV C++:根据存储在 int 向量中的索引为 Mat 类型数据创建列范围

关于C++算术类型