大端模式,是指数据的高字节保存在内存的低地址中,而数据的低字节保存在内存的高地址中,这样的存储模式有点儿类似于把数据当作字符串顺序处理:地址由小向大增加,而数据从高位往低位放;这和我们的阅读习惯一致。
小端模式,是指数据的高字节保存在内存的高地址中,而数据的低字节保存在内存的低地址中,这种存储模式将地址的高低和数据位权有效地结合起来,高地址部分权值高,低地址部分权值低。
//这里针对大端模式来命名变量,如果用户测试后与效果相反,则为小端模式
#include <reg52.h>
void main()
{
int t, c;
char high, low; //数据高字节 和 低字节
char *Lp, *Hp; //内存低地址 和 高地址
t = 4660 ; //0x1234
Lp = (char*)&t; //内存低地址
Hp = ((char*)&t)+1; //内存高地址
high = *Lp; //内存低地址存放高字节
low = *Hp; //内存高地址存放低字节
c = high*256 + low; //还原
}
附上调试结果
以上结果是大端模式,如果调试结果相反即“high的值为0x34,low的值为0x12时”,则为小端模式