大端模式,是指数据的高位,保存在内存的低地址中,而数据的低位,保存在内存的高地址中。小端模式则刚好相反。
举例:比如你要将一个数据0xABCD存放到内存中,我们假设内存起始地址是0x00
大端模式存储时,0xAB会存放在0x00地址中,0xCD会存放在0x01地址中
小端模式存储时,0xAB会存放在0x01地址中,0xCD会存放在0x00地址中
我们常见的51单片机一般都是大端模式,而X86(电脑)、很多ARM、DSP都是小端模式。
很多ARM还可以通过寄存器自由设置工作在大端还是小端模式
下面的函数可以用来判断系统是什么模式
unsigned char IsBigEndian(void) { unsigned short test = 0xABCD; if(*( (unsigned char*) &test ) == 0xAB) { return 1;//是大端模式 } else { return 0;//是小端模式 } }