C/C++ 常用数据类型:字节尺寸、范围
- 使用sizeof() 获取数据类型的尺寸
- 使用C++ STL库中numeric_limits<数据类型>::min()和max(),获取数据类型的范围。
#include < limits> //使用ionumeric_limts需包含头文件
//获取各数据类型的字节数和数据范围
//对于浮点型float和double,min()返回的为极小的小数值
//测试unsigned char 和 char
cout << "数据类型 |字节数 |数据范围" << endl;
cout<<"unsigned char: |"<<sizeof(unsigned char) <<" |"
<< (int)numeric_limits<unsigned char>::min() << " "
<< (int)numeric_limits<unsigned char>::max() << endl;
cout << "char: |" << sizeof(char) << " |"
<< (int)numeric_limits<char>::min() << " "
<< (int)numeric_limits<char>::max() << endl;
测试结果:
常用数据类型结果整理
不同操作系统和编译器,对应数据类型有差别:
- 操作系统:Windows 64位
- 编译器:x86(win32)
数据类型 | 字节数 | 位数 | 数据范围 | 说明 |
---|---|---|---|---|
unsigned char | 1 | 8 | 0,28 | |
char | 1 | 8 | -27 ,27-1 | |
bool | 1 | 8 | 0 ,1 | |
unsigned short | 2 | 16 | 0,216 | |
short | 2 | 16 | -215 ,215-1 | |
unsigned int | 4 | 32 | 0,232 | |
int | 4 | 32 | -231 ,231-1 | |
size_t | 4 | 32 | 0,232 | 同 unsigned int |
long | 4 | 32 | -231 ,231-1 | 同 int |
long long | 8 | 64 | -263 ,263-1 | 同 __int64 |
float | 4 | 32 | ±3.402823×1038 | 极小值 1.175494×10-38 |
double | 8 | 64 | ±1.797693e×10308 | 极小值 2.225074×10-38 |
- 采用编译器:x64(win64) ,与x86相比,size_t类型不同
数据类型 | 尺寸sizeof | 位数 | 数据范围 | 说明 |
---|---|---|---|---|
size_t | 8 | 64 | 0,264 | 同 unsigned __int64 |