大端模式:是指数据的高字节保存在内存的低地址中,而数据的低字节保存在内存的高地址端。
小端模式,是指数据的高字节保存在内存的高地址中,低位字节保存在在内存的低地址端。
![](https://i-blog.csdnimg.cn/blog_migrate/6e164a476df440614f57d9f7ce72a258.png)
网络通信中一般为大端模式,常用计算机CPU为小端模式。
判断大小端的三种方法:
1.利用联合体的性质
int main() {
union AA {
int a;
char b;
}A;
A.a =0x01222204;
if (A.b == 4) {
printf("mm\n");
}
else printf("big\n");
return 0;
}
2.强制类型转换
int main(void)
{
int b = 0x01223304;
char* a = (char*)(&b);
if (*a == 4)
printf("mm\n");
else if (*a == 1)
printf("big\n");
else printf("false!");
return 0;
}
3.直接将int值赋给char
int main(void)
{
int n = 0x01223304;
char a = n;
if (a == 4)
printf("是小端");//低地址存低数据
if (a == 1)
printf("是大端");
system("pause");
return 0;
}