大端模式:数据存储的方式是高位字节(权值大的部分)放在低地址,数据的低位字节保存在高地址出。我简称为高低低高模式。
小端模式:与大端模式相反,我称之为:高高低低模式。
判断方法及代码:
方法一:
int main()
{
short int x;
char x0,x1;
x=0x1122;
x0=((char*)&x)[0]; //低地址单元
x1=((char*)&x)[1]; //高地址单元
if(x0==0x11)
printf("big endian\n");
else
printf("little endian\n");
return 0;
}
若x0=0x11,则是大端; 若x0=0x22,则是小端......
方法二:使用联合体得方法
#include <stdio.h>
union U
{
long bignum;
short littlenum[2];
};
int main(int argc, char* argv[])
{
union U u={1L};
if(u.littlenum[0]==1)
printf("Little-endian\n");
else
printf("big-endian\n");
return 0;
}