算术类型分为两类:整型(integral type,包含字符类型和布尔类型)和浮点型。
算术类型的尺寸在不同机器有所差别。
类型 | 含义 | 最小尺寸(bit) | 字节(byte) |
---|---|---|---|
bool | 布尔类型 | 未定义 | 1 |
char | 字符型 | 8位 | 1 |
wchar_t | 宽字符 | 16位 | 2 |
char16_t | Unicode 字符 | 16位 | 2 |
char32_t | Unicode 字符 | 32位 | 4 |
short | 短整型 | 16位 | 2 |
int | 整型 | 16位 | 2 |
long | 长整型 | 32位 | 4 |
long long | 长整型 | 64位 | 8 |
float | 单精度浮点数 | 6位有效数字 | 4 |
double | 双精度浮点数 | 10位有效数字 | 8 |
long double | 扩展精度浮点数 | 10位有效数字 | 8 |
1字节(byte) = 8位(bit)
1字 (word) = 32或64位(bit) = 4或8字节(byte)
代码:
//Microsoft Visual Studio 2017
#include <iostream>
int main()
{
std::cout << "bool : " << sizeof(bool) << " byte" << std::endl;
std::cout << "char : " << sizeof(char) << " byte" << std::endl;
std::cout << "wchar_t : " << sizeof(wchar_t) << " byte" << std::endl;
std::cout << "char16_t : " << sizeof(char16_t) << " byte" << std::endl;
std::cout << "char32_t : " << sizeof(char32_t) << " byte" << std::endl;
std::cout << "short : " << sizeof(short) << " byte" << std::endl;
std::cout << "int : " << sizeof(int) << " byte" << std::endl;
std::cout << "long : " << sizeof(long) << " byte" << std::endl;
std::cout << "long long : " << sizeof(long long) << " byte" << std::endl;
std::cout << "float : " << sizeof(float) << " byte" << std::endl;
std::cout << "double : " << sizeof(double) << " byte" << std::endl;
std::cout << "long double: " << sizeof(long double) << " byte" << std::endl;
std::cin.get(); //或getchar() 充当暂停功能
return 0;
}
结果:
---------------------------------------------------------<< "参考资料:C++Primer (第5版-中文版)"
仅供参考,禁止转发_Qinsc