首页 > 其他 > 详细

大端小端(2)

时间:2017-04-03 14:32:02      阅读:222      评论:0      收藏:0      [点我收藏+]

请问下列代码的输出结果有可能是哪些()?

#include<stdint.h>
#include<stdio.h>
union X{    
        int32_t a;    
        struct     
        {       
                int16_t b;        
                int16_t c;    
        };
};
int main()
{ 
         X x;    
         x.a=0x20150810;    
         printf("%x,%x\n",x.b,x.c);   
         return 0;
}

错误解: 大端:1008 1520   小端:2015 0810

错误原因:弄清楚了大端和小端在内存的存储情况,但是在输出的时候却没有考虑到大端小端的存储特点。。(注意结构体中为两个 16bit  的元素)

正确解: 大端:0810 2015   小端:2015  0810

大端小端(2)

原文:http://www.cnblogs.com/renzhuang/p/6661884.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!