端模式可以分为小端字节序((little-endian)和大端字节序(big-endian),也就是字节在内存中存储顺序。
小端字节序
低字节存在内存的低地址,高字节存在内存的高地址,即低位在前,高位在后。如一个unsigned init型数据 i = 0xFFEEBBAA
内存地址 数值
0x0029F458 0xAA
0x0029F459 0xBB
0x0029F45A 0xEE
0x0029F45B 0xFF
大端字节序
低字节存在内存的高地址,高字节存在内存的低地址,即高位在前,低位在后。如一个unsigned init型数据 i = 0xFFEEBBAA
内存地址 数值
0x0029F458 0xFF
0x0029F459 0xEE
0x0029F45A 0xBB
0x0029F45B 0xAA
请写一个C函数,若处理器是Big_endian的,则返回0;若是Little_endian的,则返回1
int checkCPU( )
{
{
union w
{
int a;
char b;
} c;
c.a = 1;
return(c.b ==1);
}
}