為什么要區(qū)分大小端,是因為在內存中一般是以字節(jié)為單位,一個字節(jié)有8bit。但是,很多的數據長度卻超過8bit,那么就會存在多字節(jié)排序的問題,數據高低字節(jié)的排序就會出現問題,從而產生了大小端兩種存儲模式。以便于規(guī)范和統(tǒng)一數據的存儲順序。
大端序:數據的高字節(jié)存放在低地址,低字節(jié)存放在高地址
小端序:數據的高字節(jié)存放在高地址,低字節(jié)存放在低地址
例子:數據0x12345678在大、小端兩種存儲模式下數據的存儲情況,如下表
內存地址 | 大端序 | 小端序 |
0x400 | 0x12 | 0x78 |
0x401 | 0x34 | 0x56 |
0x402 | 0x56 | 0x34 |
0x403 | 0x78 | 0x12 |