整型資料究竟佔多少位元組
阿新 • • 發佈:2019-01-30
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資料模型