例如一个十六进制数据是0x12345678,可以看出这个数据需要4个字节来存储,字节顺序应该分别为 12 34 56 78,可以看出78为当前数据字节序的尾端。
0x12为高字节,0x78为低字节,将其存放在0x4000(低地址)-0x4003(高地址)地址中。
内存地址 | 小端模式存放内容 | 大端模式存放内容 |
0x4000(低地址) | 0x78(低字节) | 0x12(高字节) |
0x4001 | 0x56 | 0x34 |
0x4002 | 0x34 | 0x56 |
0x4003(高地址) | 0x12(高字节) | 0x78(低字节) |
可以看出,大端:高字节数据存放在低地址,低字节数据存放在高地址;
小端:高字节数据存放在高地址,低字节数据存放在低地址;
即:大端:高低低高;
低地址 --------------------> 高地址
0x12 | 0x34 | 0x56 | 0x78
小端:高高低低,同步的;
低地址 --------------------> 高地址
0x78 | 0x56 | 0x34 | 0x12