大端小端

Posted 生命不息奋斗不止

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了大端小端相关的知识,希望对你有一定的参考价值。

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

#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

以上是关于大端小端的主要内容,如果未能解决你的问题,请参考以下文章

判断计算机是大端还是小端

大端模式和小端模式

从二进制文件读取时将大端转换为小端

大端小端

C小端但产生大端结果?

字节序大端、小端