采用 Little-endian 模式的 CPU
对操作数的存放方式是从低字节到高字节,而 Big-endian 模式对操作数的存放方式是从高字节到低字
节。
例如,16bit 宽的数 0x1234 在 Little-endian 模式 CPU 内存中的存放方式(假设从地址 0x4000
开始存放)为:
内 存 地址
0x4000 0x34
0x4001 0x12
而在 Big-endian 模式 CPU 内存中的存放方式则为:
内 存 地址
0x4000 0x12
0x4001 0x34
联合体 union 的存放顺序是所有成员都从低地址开始存放。
请写一个 C 函数,若处理器是 Big_endian 的,则返回 0;若是 Little_endian 的,则返回 1
解答:
int checkCPU()
{
{
union w
{
int a;
char b;
} c;
c.a = 1;
return (c.b = = 1);
}
}