网络字节序:大端字节序
主机字节序:小端字节序
最近在面试当中,总是会碰到各种问题,有时吗当场没想出来,就回来记一下。
这个问题当时写出来了,但是觉得不太完善,刚刚我又重新写了下。这样测试应该没有问题了。
#include <stdio.h>
union order{
short s1;
char c1[sizeof(short)];
}o1;
int main(){
o1.s1 = 0x0102;
if(o1.c1[0] == 1 && o1.c1[1] == 2){
printf("netword byte order.\n");
}else if(o1.c1[0] == 2 && o1.c1[1] == 1){
printf("host byte order.\n");
}else{
printf("unknown\n");
}
return 0;
}
运行之后的结果:
[root@localhost C]# ./byteorder
host byte order.
大家还有什么好办法可以讨论一下。