大端小端儲存模式的概念及判斷

2021-09-26 10:50:29 字數 1233 閱讀 2283

大端(儲存)模式,是指資料的低位儲存在記憶體的高位址中,而資料的高位,儲存在記憶體的低位址中;

小端(儲存)模式,是指資料的低位儲存在記憶體的低位址中,而資料的高位,,儲存在記憶體的高位址中。

大端小端在計算機中用於解決多個位元組型別資料的儲存問題。計算機系統是以位元組為單位的,每個位址單元都對應著乙個位元組,乙個位元組為8bit。但是在c語言中除了8bit的char之外,還有16bit的short型,32bit的long型等。對於位數大於8位的處理器,例如16位或者32位的處理器,由於暫存器寬度大於乙個位元組,使得存在安排多個位元組的問題,故此有了大端儲存模式和小端儲存模式。

例如乙個16bit的short型x,在記憶體中的位址為0x0010,x的值為0x1122,那麼0x11為高位元組,0x22為低位元組。對於大端模式,就將0x11放在低位址中,即0x0010中,0x22放在高位址中,即0x0011中。小端模式,剛好相反。

大端排序的好處是接收資料的程式可以優先得到資料的最高位,以便快速反應。

小端排序下,選定乙個資料的起點後,只需要重複進製加法就可以實現高精度加法計算。

故序列通訊(包括乙太網、wifi、串列埠、usb等)如果採用大端編碼有時會使系統響應更快速,有利於除錯。而所有直接與硬體有關的**都適合按小端排序。常用的x86結構是小端模式,而keil c51則為大端模式。很多的arm,dsp都為小端模式。有些arm處理器還可以由硬體來選擇是大端模式還是小端模式。具體可以從下面兩張表反映:

常見cpu

儲存模式

powerpc

大端ibm

大端sun

大端x86

小端dec

小端arm

大端或小端

常見檔案

儲存模式

adobe ps

大端jpeg

大端macpaint

大端bmp

小端gif

小端rtf

小端dxf(autocad)

大端或小端

可通過以下程式來判斷機器的位元組序:

方法一:

int check_sys()

int main()

else

return0;

}

方法二:

int check_sys()

un; un.i =1;

return un.c;

}

判斷大端小端模式

試題1 請寫乙個 c函式,若處理器是 big endian 的,則返回 0 若是 little endian 的,則返回1 解答 int checkcpu c c.a 1 return c.b 1 剖析 嵌入式系統開發者應該對 little endian 和big endian 模式非常了解。採用 ...

大端小端儲存模式

端模式 endian 的這個詞出自jonathan swift書寫的 格列佛遊記 這本書根據將雞蛋敲開的方法不同將所有的人分為兩類,從圓頭開始將雞蛋敲開的人被歸為big endian,從尖頭開始將雞蛋敲開的人被歸為littile endian 這句話最為形象 小人國的內戰就源於吃雞蛋時是究竟從大頭 ...

大端 小端的儲存模式

2017年11月23日 大端 小端的儲存模式 1.大端 如果是將高位元組的資料儲存在低位址,低位元組資料儲存在高位址,這種儲存模式就是大端模式 2.小端 如果是將高位元組的資料儲存在高位址,低位元組資料儲存在低位址,這種儲存模式就是小端模式 3.對大小端模式的測試方法 1 使用union共用體進行測...