1. 程式人生 > >字、半字、位元組的定義

字、半字、位元組的定義

定義字是根據處理器的特性決定的。
首先ARM是32bit處理器,所以它的字是32bit的。半字自然就是16bit;
位元組不論在哪個CPU上都是8bit。
如果在MSP430上,由於它是16bit處理器,所以它的字是16bit的。半字=位元組=8bit。
CPU按照其處理資訊的字長可以分為:八位微處理器、十六位微處理器、三十二位微處理器以及六十四位微處理器等。

CPU最大能查詢多大範圍的地址叫做定址能力,CPU的定址能力以位元組為單位,如32位定址的CPU可以定址2的32次方大小的地址也就是4G,這也是為什麼32位的CPU最大能搭配4G記憶體的原因,再多的話CPU就找不到了。

下面有一個問題:int應該是2還是4?VC++ 預設 int 是 long int, 長度是4TC    預設 int 是 short int, 長度是2
int型別所佔的位元組數依賴於機器的字長, 有16位, 32位, 64位.我們現在買電腦時所說的32位機, 64位機就是指這個, 在16位機上int長度是2, 在32位機上長度是4, 所以在編碼的時候需要寫int長度時, 我們不能想當然的寫2或4, 而應使用sizeof來計算, sizeof(int)這樣就不會錯了, 而且提高了程式的健壯性