1、概念
大端模式,Big-Endian,是指高字节在前,低字节在后的排布方式(具体来讲,在存储中高字节在低地址,低字节在高地址;在通信中,高字节先传输,低字节后传输)。
小端模式,Little-Endian,是指低字节在前,高字节在后的排布方式(具体来讲,在存储中低字节在低地址,高字节在高地址;在通信中,低低字节先传输,高字节后传输)。
从直观感受上来讲,大端模式跟接近我们的书写阅读习惯。如将数据0x12345678存放在地址0x00000000处,对于大端模式来说,地址0x00000000到0x00000003处存放的数据依次为:0x12 0x34 0x56 0x78,这意味在代码调试中,使用memory窗口传看时,从左到右可以直观的看到0x12345678;而对小端模式来说,地址0x00000000到0x00000003存储的数据依次为:0x78 0x56 0x34 0x12。也就是大端模式和小端模式的区别。至于大端模式和小端模式的优缺点,目前看到相关的评论文章,个人认为,只是数据的表达方式不一致吧。
2、应用
在目前接触到的设备,或者通信协议中,大小端模式均有应用,如:
Inter x86平台,一直坚持使用小段模式;
C51内核系列MCU,使用的是大端模式;
ARM内核支持大小端模式可选,但一般的ARM芯片都会选定一种模式,一般是小端模式;
而通信数据传输中,如网络传输,通常约定是按大端模式传输的。