1、字节序判断
union test
{
int val;
char array[2];
}
int main()
{
union test t;
t.val = 0x0102;
if(t.array[0] == 1 && t.array[1] == 2)
{
printf("big endlian!\n");
}
else if(t.array[0] == 2 && t.array[1] == 1)
{
printf("little endlian!\n");
}
return 0;
}
2、小端转大端
int main()
{
int a = 1, result;
result = ((a & 0x000000ff) << 24)|((a & 0x0000ff00) << 8)|((a & 0x00ff0000) >> 8)|((a & 0xff000000) >> 24);
printf("%d\n",result);
return 0;
}