注:由于系统不同,文章数据可能有差异,欢迎指出问题。
一、整数型
C++的修饰符类型有 signed,unsigned,long,short 。
signed | 有符号型 |
unsigned | 无符号型 |
long | 长整型 |
short | 短整型 |
整型 int
int (-2147483648 ~ 2147483647)
类型说明符为int,在内存中占4个字节 ,其取值为基本整数。
短整型 short
short (-32768 ~ 32767)
类型说明符为short int 或 short。所占字节和取值范围会因不同的编译系统而有差异。一般来说,短整型为16或32位,也就是2或4个字节。
长整型 long
long (-2147483648 ~ 2147483647)
类型说明符为 long int 或 long,在内存中占4个字节(32位),其取值为长整数。长整型所占的字节数和取值范围与基本型相同。
超长整型 long long
long long (-9,223,372,036,854,775,807 ~ 9,223,372,036,854,775,807)
类型说明符为 long long int 或 long long,在内存中占8个字节(64位),其取值为超长整数。长整型所占的字节数和取值范围与基本型相同。
有 / 无符号型 signed / unsigned
signed和unsigned作为前缀修饰整数类型,分别表示有符号和无符号。signed和unsigned修饰char类型,可构成signed char和unsigned char,和char都不是相同的类型,不可修饰wchar_t、char16_t和char32_t。其它整数类型的signe是否省略,含义不变。signed和unsigned可单独作为类型,相当于signed int和unsigned int。
在编译系统中,系统会区分有符号数和无符号数,区分的根据是如何解释字节中的最高位,如果最高位被解释为数据位,则整型数据则表示为无符号型 ( unsigned ),否则则表示为有符号型 ( signed ) 。
二、浮点数型
单精度型 float
float (数据范围 ≈ ±3.4e ±38 约小数点后7位有效数字)
类型说明符为float 。
双精度型 double
double (数据范围 ≈ ±1.7e ±308 约小数点后15位有效数字)
类型说明符为double 。
长双精度型 long double
long double (约小数点后19位有效数字)
类型说明符为long double 。
三、总结
数据类型汇总表格
数据类型 | 内存空间 | 存储范围 |
---|---|---|
void | / | 无类型 |
char | 1 个字节 | -128 到 127 或者 0 到 255 |
unsigned char | 1 个字节 | 0 到 255 |
signed char | 1 个字节 | -128 到 127 |
int | 4 个字节 | -2147483648 到 2147483647 |
unsigned int | 4 个字节 | 0 到 4294967295 |
signed int | 4 个字节 | -2147483648 到 2147483647 |
short int | 2 个字节 | -32768 到 32767 |
unsigned short int | 2 个字节 | 0 到 65,535 |
signed short int | 2 个字节 | -32768 到 32767 |
long int | 8 个字节 | -9,223,372,036,854,775,808 到 9,223,372,036,854,775,807 |
signed long int | 8 个字节 | -9,223,372,036,854,775,808 到 9,223,372,036,854,775,807 |
unsigned long int | 8 个字节 | 0 到 18,446,744,073,709,551,615 |
float | 4 个字节 | ±3.4e ±38 约小数点后7位有效数字 |
double | 8 个字节 | ±1.7e ±308 约小数点后15位有效数字 |
long long | 8 个字节 | -9,223,372,036,854,775,807 到 9,223,372,036,854,775,807 |
long double | 16 个字节 | 约可提供小数点后19位有效数字 |
wchar_t | 2 或 4 个字节 | 1 个宽字符型 |
如果这篇文章对你有所帮助,希望获得你的鼓励!