原本是开始学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:

 

评分:0

我来说两句

显示全部

:loveliness: :handshake :victory: :funk: :time: :kiss: :call: :hug: :lol :'( :Q :L ;P :$ :P :o :@ :D :( :)

日历

« 2009-01-09  
    123
45678910
11121314151617
18192021222324
25262728293031

数据统计

  • 访问量: 20405
  • 日志数: 132
  • 文件数: 1
  • 建立时间: 2007-07-30
  • 更新时间: 2009-01-05

RSS订阅

Open Toolbar