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

int型字長問題:

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

② 操作系統字長和機器字長未必一致;

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

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

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

比如你在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個字節

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章