让我们分两个方面来看,可以记忆和理解的更清楚一点,一个是储存方面,另一个是通信方面。下面的例子默认左为高位,右为低位。
一,储存上
LSB小端字节序就是低位地址存储低位的数据,反之,低位地址存储高位的数据就是大端字节序,举个例子。
设置一个变量,赋值0x12345678,如果这里的低位数据0x78存储在了低位地址0x3000 0000上,那么就是小端字节序。反之存储在高位地址0x3000 0003上就是大端字节序。
我们可以利用这个来查询自己设备是大端字节序存储还是小端字节序存储
c语言参考代码
include <stdio.h>
#include <math.h>
#include <windows.h>
#define LSB 0
#define MSB 1
int check_LSB_or_MSB(void);
main(int argc ,char **argv)
{
if(LSB == check_LSB_or_MSB() )
{
printf("the system is using LSB\n");
}
else(MSB == check_LSB_or_MSB())
{
printf("the system is using MSB\n");
}
system("