C++11 C++ C++11标准定义了包括算术类型(arithmetic type)和空类型(void)在内的基本数据类型。其中算术类型包含了字符、整型数、布尔值和浮点数。空类型不对应具体的值,仅用于特殊的场合。例如最常用的,当函数不返回任何值时使用空类型(void)作为返回类型。
类型 | 含义 | 最小尺寸 |
---|---|---|
bool | 布尔类型 | 未定义,只有true和false两值 |
char | 字符类型 | 8bit |
wchar_t | 宽字符 | 16bit |
char16_t | Unicode字符 | 16bit |
char32_t | Unicode字符 | 32bit |
short | 短整型 | 16bit |
int | 整型 | 16bit |
long | 长整型 | 32bit |
long long | 长整型 | 64bit |
float | 单精度浮点型 | 6位有效数字 |
double | 双精度浮点型 | 10位有效数字 |
long double | 扩展精度浮点型 | 10位有效数字 |
计算机内部以比特序列存储数据,每个bit非0即1 大多数计算机以2的整数次幂个比特作为块来处理内存,可寻址的最小内存块称为“字节”(byte),大多数机器的1个字节由8bit组成,存储的基本单元称为“字”(Word),字由32或64bit构成,也就是4或8字节。 大多数计算机将内存中的每个字节与一个数字(称为地址address)关联起来。
除了布尔型和扩展的字符型之外,其他整型可以划分为有符号整型(signed)和不带符号的整型(unsigned)两种。 signed int 可以表示正数、负数和0; unsigned int 仅仅表示大于等于0的值。。。 类型int、short、long、long long默认都是带符号的整型,在他们各自的前边加上前缀unsigned,就可以得到无符号类型。
char类型被分为了三种char、signed char、unsigned char,需要注意的是char和signed char并不一样,具体的char表现形式只有两种(有符号和无符号)中的一种,具体的由编译器实现决定。