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 |