32位是cpu一次处理的位数,即32位4字节,相当于地址的宽度,即sizeof(*p);
虚拟地址大小为4G,即有2的32次方个地址,从32个0到32个1个地址;
64位是cpu一次处理的位数,即64位8字节,相当于地址的宽度,即sizeof(*p);
虚拟地址大小为128G,即有2的64次方个地址,从64个0到64个1个地址;
32位
char 1字节
char* 4字节(寻址范围)
short int 2字节
int 4字节
unsigned int 4字节
long 4字节
long long 8字节
64位
char 1字节
char* 8字节(寻址范围)
short int 2字节
int 4字节
unsigned int 4字节
long 8字节
long long 8字节
总结:
int和longlong是不变的,long是可变化的
本文介绍了32位和64位CPU处理位数的区别,指出32位CPU能处理4字节数据,虚拟地址空间为4GB,而64位CPU则处理8字节数据,虚拟地址空间扩大到128GB。同时,讨论了不同系统下数据类型如int、long和long long的字节数,强调了long类型的字节数在不同体系结构中可能变化。
3307





