小端:低地址存放地位数据;
大端:低地址存放高位数据;
而网络中传输是用大端。
用代码实现大小端利用了共用体的原理实现判断是比较简单的一个方法:
#include <stdio.h>
union n{
int a;
char b;
};
int main(){
union n ss;
ss.a=1;
if(ss.b!=0)
printf("Little\n");
else
printf("Big\n");
return 0;
}
由于共用体中的所有元素都存放在一块内存空间中,而b的起始地址是从int型的起始地址对齐的。所以对一个int型的数据进行写1,如果是大端的话,char型的b就会为1,否则b就为0.