32位64位操做系統基本數據類型字節大小

nt型字長問題:操作系統

① C/C++規定int字長和機器字長相同;指針

② 操做系統字長和機器字長未必一致;編譯器

③ 編譯器根據操做系統字長來定義int字長;編譯

  由上面三點可知,在一些沒有操做系統的嵌入式計算機系統上,int的長度與處理器字長一致;有操做變量

系統時,操做系統的字長與處理器的字長不必定一致,此時編譯器根據操做系統的字長來定義int字長:"float

好比你在64位機器上運行DOS16系統,那麼全部for dos16的C/C++編譯器中int都是16位的;在64位機器上計算機

運行win32系統,那麼全部for win32的C/C++編譯器中int都是32位的"嵌入式

常見基本類型的字節大小控件

32位操做系統系統

char :1個字節(固定)

*(即指針變量): 4個字節(32位機的尋址空間是4個字節。同理64位編譯器)(變化*)

short int : 2個字節(固定)

int: 4個字節(固定)

unsigned int : 4個字節(固定)

float: 4個字節(固定)

double: 8個字節(固定)

long: 4個字節

unsigned long: 4個字節(變化*,其實就是尋址控件的地址長度數值)

long long: 8個字節(固定)


64位操做系統

char :1個字節(固定)

*(即指針變量): 8個字節

short int : 2個字節(固定)

int: 4個字節(固定)

unsigned int : 4個字節(固定)

float: 4個字節(固定)

double: 8個字節(固定)

long: 8個字節

unsigned long: 8個字節(變化*其實就是尋址控件的地址長度數值)

long long: 8個字節(固定)
 

除了*與long隨操做系統子長變化而變化外,其餘的都固定不變(32位和64相比)

bool 1個字節  char 1個字節      int 4個字節   float 4個字節       doubl 8個字節   long long 8個字節

相關文章
相關標籤/搜索