分享

大小端格式由编译器还是CPU决定的?

 rongq2007 2020-09-02

有读者问了这么一个问题:大小端与编译器和操作系统有关吗?

其实大小端主要由CPU决定,与编译器、操作系统这些没有直接关系。

因为我以前学习的时候,有很长一段时间也是存在这样的疑问。我觉得应该还有很多人都没搞明白,所以,今天来分享一下相关内容。

一、关于大小端

大小端也可以理解为字节顺序,或者端序、尾序,也就是你们看到的大端序(Big-Endian)、小端序(Little-Endian)。

关于大小端的解释网上很多教程,也不难理解。

大端模式:是指数据的高字节保存在内存的低地址中;

小端模式:是指数据的高字节保存在内存的高地址中;

#include <stdio.h>

#include <stdlib.h>

int main()

{

    short int x;//两个字节

    char x0,x1;

    x=0x1122;

    x0=((char*)&x)[0]; //低地址单元

    x1=((char*)&x)[1]; //高地址单元

    printf("%x",x0);

    return 0;

}

如果x0=11是大端,x0=22是小端

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多