大端(儲存)模式,是指資料的低位儲存在記憶體的高位址中,而資料的高位,儲存在記憶體的低位址中;
小端(儲存)模式,是指資料的低位儲存在記憶體的低位址中,而資料的高位,,儲存在記憶體的高位址中。
大端小端在計算機中用於解決多個位元組型別資料的儲存問題。計算機系統是以位元組為單位的,每個位址單元都對應著乙個位元組,乙個位元組為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共用體進行測...