字符类型(character)
(signed/unsigned)char 普通字符类型
可表示国际上的ASCII标准里规定的所有字符
可表示范围:(以整数表示)
signed:-128 ~ +127
unsigned:0 ~ +255
占 8 bit=1 byte=1 字节
C++98及以后标准里使用
wchar_t 普通宽字符类型
可表示国际上的ASCII标准里规定的所有字符与一些中文字符
可表示范围:(以整数表示)
0 ~ +65535
占 16 bit=2 byte=2 字节
C++98及以后标准里使用
支持此类型的头文件<wchar.h>或<cwchar>
char16_t Unicode字符类型
可表示国际上的ASCII标准里规定的所有字符与Unicode中文字符
可表示范围:(以整数表示)
0 ~ +65535
占 16 bit=2 byte=2 字节
C++11及以后标准里使用
支持此类型的头文件<uchar.h>
char32_t Unicode字符类型
可表示国际上的ASCII标准里规定的所有字符与Unicode中文字符
可表示范围:(以整数表示)
0 ~ +4294967295
占 32 bit=4 byte=4 字节
C++11及以后标准里使用
支持此类型的头文件<uchar.h>
整数类型(integer)
(signed/unsigned)byte(或__int8) 超短整数类型(某些IDE上没有)
可表示范围:
signed:-128 ~ +127
unsigned:0 ~ +255
占 8 bit=1 byte=1 字节
C++11及以后标准里使用
(signed/unsigned)short(或__int16) 短整数类型
可表示范围:
signed:-32768 ~ +32767
unsigned:0 ~ +65535
占 16 bit=2 byte=2 字节
C++98及以后标准里使用
(signed/unsigned)int(或__int32) 整数类型
可表示范围:
signed:-2147483648 ~ +2147483647
unsigned:0 ~ +4294967295
占 32 bit=4 byte=4 字节
C++98及以后标准里使用
(signed/unsigned)long(或__int32) 长整数类型
可表示范围:
signed:-2147483648 ~ +2147483647
unsigned:0 ~ +4294967295
占 32 bit=4 byte=4 字节
C++98及以后标准里使用
(signed/unsigned)long long(或__int64) 超长整数类型
可表示范围:
signed:-9223372036854775808 ~ +9223372036854775807
unsigned:0 ~ +18446744073709551615
占 64 bit=8 byte=8 字节
C++98及以后标准里使用
(signed/unsigned)__int128 超长整数类型
可表示范围:
signed:未知(可存储至1.71*10^4932)
unsigned:未知(可存储至3.42*10^4932)
占 128 bit=16 byte=16 字节
C++98及以后标准里使用(有些编译器不支持)
实数类型(decimal)
都是有符号的类型
float(或__float32)单精度实数类型
可表示范围:3.4E-38 ~ 3.4E+38
占 32 bit=4 byte=4 字节
C++98及以后标准里使用
double(或__float64)双精度实数类型(某些系统上会对其运算优化加速)
可表示范围:1.7E-308 ~ 1.7E+308
占 64 bit=8 byte=8 字节
C++98及以后标准里使用
long double(或__float128)长双精度实数类型(某些系统上会对其运算优化加速)
可表示范围:1.7E-4932 ~ 1.7E+4932
占 128 bit=16 byte=16 字节
C++98及以后标准里使用