大端模式和小端模式的區別:
在C語言中除了8位的char型之外,還有16位的short型,32位的long型(要看具體的編譯器),對於位數大於8位的處理器,例如16位或者32位的處理器,由於寄存器寬度大於壹個字節,那麽必然存在著如何將多個字節安排的問題。因此就導致了大端存儲模式和小端存儲模式。
大端模式:
字數據的高字節存儲在低地址中,而字數據的低字節則存放在高地址中。
小端模式:
與大端存儲模式相反,在小端存儲模式中,低地址中存放的是字數據的低字節,高地址存放的是字數據的高字節。
我們常用的X86結構是小端模式,而KEIL C51則為大端模式。很多的ARM,DSP都為小端模式。有些ARM處理器還可以由硬件來選擇是大端模式還是小端模式。
采用大端方式進行數據存放符合人類的正常思維,而采用小端方式進行數據存放利於計算機處理。