1) little-endian就是低位位元組排放在記憶體的低位址端,高位位元組排放在記憶體的高位址端。
2) big-endian就是高位位元組排放在記憶體的低位址端,低位位元組排放在記憶體的高位址端。
例如,數字0x12 34 56 78在記憶體中的表示形式為
小端模式:
低位址 ------------------> 高位址
0x78 | 0x56 | 0x34 | 0x12
大端模式:
低位址 -----------------> 高位址
0x12 | 0x34 | 0x56 | 0x78
在計算機系統中,我們是以位元組為單位的,每個位址單元都對應著乙個位元組,
我們常用的x86結構是小端模式,而keil c51則為大端模式。很多的arm,dsp都為小端模式。有些arm處理器還可以由硬體來選擇是大端模式還是小端模式。
位元組序:
一般作業系統都是小端,而通訊協議是大端的。
cpu位元組序:
big endian : powerpc、ibm、sun
little endian : x86、dec
arm既可以工作在大端模式,也可以工作在小端模式。
常見檔案位元組序:
adobe ps – big endian
bmp – little endian
dxf(autocad) – variable
gif – little endian
jpeg – big endian
macpaint – big endian
rtf – little endian
參考:
什麼是小端格式和大端格式
大端格式 在這種格式中,字資料的高位元組儲存在低位址中,而字資料的低位元組則存放在高位址中。小端格式 與大端儲存格式相反,在小端儲存格式中,低位址中存放的是字資料的低位元組,高位址存放的是字資料的高位元組。請寫乙個c函式,若處理器是big endian的,則返回0 若是little endian的,...
什麼是大端,小端位元組序
以前某門課程的時候聽說過位元組序的問題,就是因為作業系統和cpu的問題,對多位元組變數的記憶體儲存順序不 同。比如乙個16位的整數,由兩個位元組構成,有的系統會將高位元組放在記憶體的低位址,而有的系統則會將高字 節放在記憶體的高位址上。所以存在位元組序的問題,一般大於乙個自己的變數的型別的表示方法有...
大端和小端
1 小端與大端 對於乙個由2個位元組組成的16位整數,在記憶體中儲存這兩個位元組有兩種方法 一種是將低序位元組儲存在起始位址,這稱為小端 little endian 位元組序 另一種方法是將高序位元組儲存在起始位址,這稱為大端 big endian 位元組序。2 下面是兩個具體例子 記憶體位址 小端...