原本是开始学EDA时开的博客,但最近转向嵌入式学习,但这还是我比较喜欢和常来的地方,也非常希望走过的朋友能留下你们的足迹。QQ:94073982。ARM-Linux的学习群:群号:60696568(嵌入式Linux-s3c2410)。欢迎加入。
大端模式和小端模式的区别
上一篇 /
下一篇 2008-09-18 13:31:53
大端模式:数据的高字节存储在内存地址的低字节
小端模式:数据的高字节存储在内存地址的高字节
请写一个C函数,若处理器是Big_endian的,则返回0;若是Little_endian的,则返回1
解答:
int checkCPU( )
{
{
union w
{
int a;
char b;
} c;
c.a = 1;
return(c.b ==1);
}
}
联合体union的存放顺序是所有成员都从低地址开始存放,面试者的解答利用该特性,轻松地获得了CPU对内存采用Little-endian还是Big-endian模式读写。如果谁能当场给出这个解答,那简直就是一个天才的程序员。
如果是小端模式,则变量c.a=1存放放在低地址,即是和c.b共用的一个内存单元。因此可以用c.b是否为1来判断是否为小端模式。
导入论坛
收藏
分享给好友
管理
举报
TAG: