int 和 long 在不同系统下所占字节大小
| win32 | win64 | linux32 | linux64 | |
|---|---|---|---|---|
| int (Byte) | 4 | 4 | 4 | 4 |
| long (Byte) | 4 | 4 | 4 | 8 |
归根到底是跟机器平台有关,因为是编译器去适应平台
数据模型(I:int、L:long、P:pointer、LL:long long;数字表示平台位数)
| TYPE | LP32 | ILP32 | LP64 | ILP64 | LLP64 |
|---|---|---|---|---|---|
| CHAR | 8 | 8 | 8 | 8 | 8 |
| SHORT | 16 | 16 | 16 | 16 | 16 |
| INT | 16 | 32 | 32 | 64 | 32 |
| LONG | 32 | 32 | 64 | 64 | 32 |
| LONG LONG | 64 | 64 | 64 | 64 | 64 |
| POINTER | 32 | 32 | 64 | 64 | 64 |
| 采用 | win16 | win32/Unix32类 | Unix64类 | win64 |
标题中位于前面的类型与中间位数保持一致(LP32:L32,P32)
通常情况下:
| TYPE | CHAR | SHORT | INT | LONG | LONG LONG | POINTER |
|---|---|---|---|---|---|---|
| 32 | 8 | 16 | 16 | 32 | 64 | 32 |
| 64 | 8 | 16 | 32 | 32 | 64 | 64 |
• 所有模型char8、short16、float32、double64、
• 现如今所有64bit类Unix平台均使用LP64数据模型,64bit
Windows使用LLP64数据模型
整型数据在不同系统中的字节数
本文探讨了int和long数据类型在不同操作系统和平台上的字节占用情况,指出这主要取决于机器的位数和数据模型,如LP64和LLP64模型。通常,char占8位,short占16位,float占32位,double占64位。
2819

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



