什么是大小端
小端:低位字节数据存储在低地址
大端:高位字节数据存储在低地址
例如:int a=0x12345678; (a首地址为0x2000)
大端格式方式:
0x2000 0x2001 0x2002 0x2003
0x12 0x34 0x56 0x78
代码1
char占8位,截取地位地址一个字节
void checkCpuMode(void)
{
int i = 0x12345678;
char *cp = (char *)&i;
if(*cp == 0x78)
printf("little endian");
else
printf("big endian\n");
}
代码2
void checkCpuMode(void)
{
int a = 0x12345678;
if((char)a == 0x12)
printf("big endian\n");
else
printf("little endian\n");
}
代码1
截取16位
void checkCpuMode(void)
{
union
{
short s;
char c[sizeof(short)];
}un;
un.s=0x0102;
if(un.[0]==1&&un.c[1]==2)
printf("big endian\n");
else
printf("little endian\n");
}