逛奔的蜗牛

我不聪明,但我会很努力

   ::  :: 新随笔 ::  ::  :: 管理 ::
怎么确定CPU对操作数的存放方式,用的是Little-endian(从低字节到高字节)还是Big-endian?
呵呵,如果知道怎么用联合体的话(再加上你是个天才:能几分钟内搞出这个来的就是天才,天才也能这样定义,出题的人大脑有问题,嘿嘿,这问题好像很容易啊):
union uT{
        short a;
        char b;
}u;
u.a = 0x1234;
 
cout << u.a << endl;
cout << (int)u.b << endl; // 如果u.b == 0x12,则采用的是Little-endian,因为联合体占用同一个内存空间存放成员。
                                   // 我的CPU用的是Big-endian,从高字节到低字节,因为u.b = 52,TGA的文件也是这样存的。
                                   // 联合体的成员都是按地址顺序从低地址向高地址存放。
posted on 2010-12-17 18:07 逛奔的蜗牛 阅读(467) 评论(0)  编辑 收藏 引用 所属分类: C/C++
CPU" trackback:ping="http://www.cppblog.com/biao/services/trackbacks/136781.aspx" /> -->

只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理