大端模式和小端模式的区别:大端小端模式
大端模式和小端模式的区别:大端小端模式小端:buf[3]----0x78buf[0]----0x12buf[1]----0x34buf[2]----0x56
大端模式:是指数据的高字节(我理解的就是十进制数的高位)保存在内存的低地址中,而数据的低字节(我理解的就是数的地位)保存在内存的高地址中,这样的存储模式有点类似于把数据当作字符串顺序处理,地址由小向大增加,而数据从高位往低位放这和我们的阅读习惯一致。
小端模式:是指数据的高字节(我理解的就是十进制数的高位)保存在内存的高地址中,而数据的低字节(十进制数的地位)保存在内存的低地址中。
int main()
{
union U
{
int i;
char c[4];
};
U u;
u.i = 0x12345678;
printf("%X" u.c[0]);
getchar();
return 0;
}
我在windows下的vs里运行这段代码,输出的是78
简明区分:
大端:
buf[0]----0x12
buf[1]----0x34
buf[2]----0x56
buf[3]----0x78
小端:
buf[0]----0x78
buf[1]----0x56
buf[2]----0x34
buf[3]----0x12
总结:由于大端和小端是相反的,我们只要记住大端就可以了 以十进制数为例,我理解的就是十进制数的高位放在低地址,十进制数的低位放在高地址。