- 1
- 0
- 约2.7千字
- 约 3页
- 2021-12-02 发布于福建
- 举报
试题 1:请写一个 C 函数,若处理器是 Big_endian 的,则返回 0;若是 Little_endian 的,则
返回 1
int checkCPU( )
{
{
union w
{
int a;
char b;
} c;
c.a = 1;
return (c.b ==1);
}
}
剖析:
嵌入式系统开发者应该对 Little-endian 和 Big-endian 模式非常了解。采用 Little-endian 模式
的 CPU 对操作数的存放方式是从低字节到高字节,
Big-endian 模式的 CPU 对操作数的存放方式是从高字节到低字节。
在弄清楚这个之前要弄清楚这个问题:
字节从右到左为从高到低 !
假设从地址 0x4000 开始存放 :
0 也是个 32 位四个字节的数据,最高字节是 0x12,最低字节是 0x78 :
原创力文档

文档评论(0)