[转]各种数据类型在16位、32位和64位系统下所占字节差异

数据类型 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位中longunsigned long和指针类型所占字节的差异进行区分。

cout<<sizeof(int *)<<endl;    //输出为8即64位系统,输出为4即为32位。

原文链接:https://blog.csdn.net/zhanghui962623727/article/details/83097881

原文地址:https://www.cnblogs.com/hellovan/p/11379846.html