首先强调一点,char, short, float, double在各个系统中字节数都一样
| 16位系统 | 32位系统 | 64位系统 | |
| char | 1 | 1 | 1 |
| short | 2 | 2 | 2 |
| float | 4 | 4 | 4 |
| double | 8 | 8 |
8 |
| long double | 无 | 10/12 | 10/16 |
| int | 2 | 4 | 4 |
| long | 4 | 4 |
8 |
| long long | 8 | 8 | 8 |
| 指针 | 2 | 4 | 8 |
现在讨论一下int, long.
起初在16为系统中, int 和 short一样,都为2; 到了32/64位系统,int升级为4字节;
在16/32为系统中,long为4字节; 到了64位系统long升级成8字节.
指针的大小随着系统的变化分别是2/4/8字节
long double型数据有效字节都是10,为了对其而分配了12/16字节.
本文详细介绍了在16位、32位和64位系统中,char、short、float、double等基础数据类型的字节数变化情况。特别指出,在不同位数的系统中,int和long的数据长度有所不同,而指针的大小则随系统位数从2字节增长至8字节。
3646

被折叠的 条评论
为什么被折叠?



