大端模式:低地址存放高位数据,与我们看的习惯相一致;
小端模式:低地址存放低位数据,与我们的习惯不一致。例子:
32bit宽的数0x12345678在Little-endian模式CPU内存中的存放方式(假设从地址0x4000开始存放)为:
内存地址 |
0x4000 |
0x4001 |
0x4002 |
0x4003 |
存放内容 |
0x78 |
0x56 |
0x34 |
0x12 |
而在Big-endian模式CPU内存中的存放方式则为:
内存地址 |
0x4000 |
0x4001 |
0x4002 |
0x4003 |
存放内容 |
0x12 |
0x34 |
0x56 |
0x78 |
因为刚开始的时候并没有统一的标准,导致各个厂家有不同的方式来读取操作数,故而导致不同厂家有不同的读取操作数字节的方法,比如intel和AMD都是小端的。它们并没有优缺点之分。