1. 概念
大端模式(Big-endian):高位字節排放在內存的低地址端,低位字節排放在內存的高地址端,即正序排列,高尾端;
小端模式(Little-endian):低位字節排放在內存的低地址端,高位字節排放在內存的高地址端,即逆序排列,低尾端;例(無論是小端模式還是大端模式。每個字節內部都是按順序排列):
1)大端模式:
低地址 -----------------> 高地址 0x0A | 0x0B | 0x0C | 0x0D
2)小端模式:
低地址 ------------------> 高地址 0x0D | 0x0C | 0x0B | 0x0A
2. 例子
- 16bit寬的數0x1234在兩種模式CPU內存中的存放方式(假設從地址0x4000開始存放)為:
內存地址 | 小端模式存放內容 | 大端模式存放內容 |
---|---|---|
0x4000 | 0x34 | 0x12 |
0x4001 | 0x12 | 0x34 |
- 32bit寬的數0x12345678在兩種模式CPU內存中的存放方式(假設從地址0x4000開始存放)為:
內存地址 | 小端模式存放內容 | 大端模式存放內容 |
---|---|---|
0x4000 | 0x78 | 0x12 |
0x4001 | 0x56 | 0x34 |
0x4020 | 0x34 | 0x56 |
0x4003 | 0x12 | 0x78 |