首页 > 其他 > 详细

大端小端总结

时间:2017-10-11 10:19:36      阅读:229      评论:0      收藏:0      [点我收藏+]

大端(Big Endian)和 小端(Little Endian)在开发中经常会遇到的问题,因此在正式开发前,清楚的了解当前的开发环境是大端模式还是小端模式就显得非常重要。

大端:指的是数据的最高有效位(MSB:Most Significant Bit)存储在内存块的低位地址。数据的最低有效位(LSB:Lowest Significant Bit)存储在内存块的高位地址

小端:指的是数据的最高有效位(MSB:Most Significant Bit)存储在内存块的高位地址。数据的最低有效位(LSB:Lowest Significant Bit)存储在内存块的地位地址

如下图所示:

 技术分享

下面通过一段测试代码来进行演示:

#include <stdio.h>

int main()
{
        int n = 0x12345678;
        char* p = (char*)&n;
        printf("%x,%x,%x,%x\n",p[0],p[1],p[2],p[3]);

        if(p[0] == 0x78 && p[3] == 0x12)
        {
                printf("Little Endian.\n");
        }
        else if(p[0] == 0x12 && p[3] == 0x78)
        {
                printf("Big Endian.\n");
        }
        else
        {
                printf("Unkown.\n");
        }
        return 0;
}

结果输出:

技术分享

表明本机采用的是小端模式。

 

大端小端总结

原文:http://www.cnblogs.com/shxyhld/p/7648592.html

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