一。记忆技巧
正常情况下,内存地址都是从小到大排列的,记忆区分大小端的方法:高字节放在低地址就是大端,高对应大,低对应小
二。判断编译器大小端
方法1.
short int x;
char x0,x1;
x=0x1122;
x0=((char*)&x)[0]; //低地址单元
x1=((char*)&x)[1]; //高地址单元
若x0=0x11,则是大端; 若x0=0x22,则是小端
方法2.
int checkCPU()
{
union w
{
int a;
char b;
} c;
c.a = 1;
return (c.b == 1);
}
两种方法原理基本相同,都是看一个多字节的变量的低地址的值是否为所赋值的低位的值