常识:1个字节8位。
不同数据类型所占用的字节数与编译器用的数据模型有关,与系统位数没有关系。(除了指针)
指针长度和地址总线有关。因为指针记录的就是一个地址,那么32位的就是4字节,64位的就是8字节。
绝大部分64位的Unix,linux都是使用的LP64模型;
64位的Windows使用的是LLP64(long long and point 64)模型。
由上表可见对于整形 long,C++标准中并没有严格的限制;只是说long用于存储大数,要求long的长度不小于int;
参考
http://bbs.51cto.com/thread-893280-1.html