大小端概念
大端:低地址对应高字节;
小端:低地址对应低字节;
方法1
int main(int argc,char *argv[])
{
union
{
int a;
char b;
}x;
x.a = 0x11;
if(x.b == 0x11)
printf("little-endian\n");
else
printf("big-endian\n");
return 0;
}
方法2
int main(){
int number = 1;
if(*(char *)&number)
printf("little-endian!\n");
else
printf("big-endian!\n");
return 0;
}
方法3
int main(){
int a = 0x12345678;
unsigned char *p=(unsigned char *)&a;
if(0x78==*p)
{
printf("little end\n");
}
else
{
printf("big end\n");
}
return 0;
}
方法4
int main(){
short int x;
char x0,x1;
x=0x1122;
x0=((char*)&x)[0]; //低地址单元
x1=((char*)&x)[1]; //高地址单元
// 若x0=0x11,则是大端; 若x0=0x22,则是小端......
if(x0 == 0x11)
printf("big endian\n");
else if(x0 == 0x22)
printf("little endian\n");
return 0;
}