一.定义
小端字节序 数据的低位字节序的内容放在低地址处;
大端字节序 数据的 低位字节序的内容放在高地址处;
比如一个数1,他的二进制表示为00 00 00 01
假设从左到右为低位到高位则存取01 00 00 00 时则为 小端字节序,00 00 00 01 时则为 大端字节序
二.利用C语言判断机器使用的大小端
1.
int main()
{
int a = 1;
char *p = (char*)&a;
if (*p == 1)
printf("小端\n");
else
printf("大端\n");*/
return 0;
}
2.
int check_sys()
{
int a = 1;
// 如果是小端返回1
//如果是大端返回0
return *((char *)&a);
//或者可以分步如下
//char*p=(char*)&a;
//return *p;
}
int main()
{
if (check_sys() == 1)
printf("小端\n");
else
printf("大端\n");
return 0;
}
3.
int check_sys() { union Un//联合体 { int i; char c; }un; un.i = 1; return un.c;
} int main() { if (check_sys() == 1) printf("小端\n"); else printf("大端\n"); return 0; }