[转]各种数据类型在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位中long、unsigned long和指针类型所占字节的差异进行区分。
如
cout<<sizeof(int *)<<endl;    //输出为8即64位系统,输出为4即为32位。
原文链接:https://blog.csdn.net/zhanghui962623727/article/details/83097881
 
                    
                     
                    
                 
                    
                
 
                
            
         
         浙公网安备 33010602011771号
浙公网安备 33010602011771号