数据类型 | 16位系统(byte) | 32位系统(byte) | 64位系统(byte) | 备注 |
---|---|---|---|---|
char | 1 | 1 | 1 | |
short 、unsigned short | 2 | 2 | 2 | |
int、unsigned int | 2 | 4 | 4 | |
long、unsigned long | 4 | 4 | 8 | |
float | 4 | 4 | 4 | |
double | 8 | 8 | 8 | |
long long | 8 | 8 | 8 | |
long double | 10/12 | 10/16 | 有效位10字节。32位为了对齐实际分配12字节;64位分配16字节 | |
指针 | 2 | 4 | 8 |
C++如何区分64位和32位系统:
利用64位和32位中long
、unsigned long
和指针类型所占字节的差异进行区分。
如
cout<<sizeof(int *)<<endl; //输出为8即64位系统,输出为4即为32位。
原文链接:https://blog.csdn.net/zhanghui962623727/article/details/83097881