大端系统:
字数据的高字节存放在低地址,而低字节存放在高地址。
小端系统:
字数据的低字节存放在低地址,高字节存放在高地址。
下面这个函数可以判断系统是大端还是小端。
int endian( void )
{
union
{
int i;
char a;
}e;
e.i=1;
return e.a==1;
}
如果系统是小端则返回1,大端返回0;
这函数的原理是这样的:
把联合e的i成员赋值为1,这样a成员存放的就是i的低字节,如果是小端系统那么i的低字节就应该存放1,而大端
系统a应该存放0。这样就判断出系统是大端系统还是小端系统了。