大端模式和小端模式的區(qū)別 什么是大端模式和小端模式?
什么是大端模式和小端模式?當(dāng)一個數(shù)字需要一個以上的字節(jié)來存儲時,大端和小端是有區(qū)別的。當(dāng)只使用一個字節(jié)時,小端放在低位地址并不重要,即小端稱為小端,反之亦然,稱為大端C和C我們需要面對這樣的問題。Ja
什么是大端模式和小端模式?
當(dāng)一個數(shù)字需要一個以上的字節(jié)來存儲時,大端和小端是有區(qū)別的。當(dāng)只使用一個字節(jié)時,小端放在低位地址并不重要,即小端稱為小端,反之亦然,稱為大端C和C我們需要面對這樣的問題。Java和其他高級語言已經(jīng)屏蔽了這種差異,不需要額外的處理。在C中,我們可以使用下面的代碼片段來確定它是大端還是小端聯(lián)合{char C int i}UU。I=1If(U.C==1)所謂的大端模式意味著數(shù)據(jù)的高位存儲在內(nèi)存的低位地址,而數(shù)據(jù)的低位存儲在內(nèi)存的高位地址。這種存儲模式類似于按順序?qū)?shù)據(jù)視為字符串:地址從小到大遞增,數(shù)據(jù)從高到低排列。所謂小端模式是指將高位數(shù)據(jù)存儲起來,這種存儲模式有效地將高位地址和低位地址與數(shù)據(jù)位權(quán)重結(jié)合起來。高地址部分具有高權(quán)重,而低地址部分具有低權(quán)重,這與我們的邏輯方法是一致的。QT是一個編譯器,它既不是大端模式,也不是小端模式。終端的大小取決于CPU體系結(jié)構(gòu)。
ARM里的大端格式和小端格式分別是什么意思呀?
大小模式是存儲格式,與它是什么處理器無關(guān)。
例如,我們需要將0x12345678存儲在0x1000-0x1003的內(nèi)存單元中。
在小端模式下,[0x1000]=0x78[0x1001]=0x56[0x1002]=0x34[0x1003]=0x12處于大端模式,[0x1000]=0x12[0x1001]=0x34[0x1002]=0x56