小端模式和大端模式

小端模式和大端模式大端格式 在这种格式中 字数据的高字节存储在低地址中 而字数据的低字节则存放在高地址中 小端格式 与大端存储格式相反 在小端存储格式中 低地址中存放的是字数据的低字节 高地址存放的是字数据的高字节 判断 CPU 是大端格式还是小端格式 程序见下 变量名存储的是低地址 includeusing int

大端格式:

在这种格式中,字数据的高字节存储在低地址中,而字数据的低字节则存放在高地址中。

小端格式:

与大端存储格式相反,在小端存储格式中,低地址中存放的是字数据的低字节,高地址存放的是字数据的高字节。

判断CPU是大端格式还是小端格式,程序见下:(变量名存储的是低地址)

#include


using namespace std;

int main(void)
{
   int s=0x;
   int a[2]={0};
   cout<<&a[0]<
   if(*(char*)&s==0x12)

       cout<<"big endian"<
   else if(*(char*)&s==0x78)

       cout<<"little endian"<
}
















嵌入式系统开发者应该对Little-endianBig-endian模式非常了解。例如,16bit宽的数0x1234Little-endian模式CPU内存中的存放方式(假设从地址0x4000开始存放)为:

内存地址

0x4000

0x4001

存放内容

0x34

0x12

而在Big-endian模式CPU内存中的存放方式则为:

内存地址

0x4000

0x4001

存放内容

0x12

0x34


大端、小端互换,程序见下:
unsigned short exchange(byte* data)

{
unsigned short ret;
byte tmp[2];
tmp[0]=data[1];
tmp[1]=data[0];
memcpy(&ret,tmp,sizeof(tmp));
return ret;
}









版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/208238.html原文链接:https://javaforall.net

(0)
上一篇 2026年3月19日 下午12:01
下一篇 2026年3月19日 下午12:02


相关推荐

  • 简单易学的机器学习算法——梯度提升决策树GBDT「建议收藏」

    简单易学的机器学习算法——梯度提升决策树GBDT「建议收藏」梯度提升决策树(GradientBoostingDecisionTree,GBDT)算法是近年来被提及比较多的一个算法,这主要得益于其算法的性能,以及该算法在各类数据挖掘以及机器学习比赛中的卓越表现,有很多人对GBDT算法进行了开源代码的开发,比较火的是陈天奇的XGBoost和微软的LightGBM。一、监督学习1、监督学习的主要任务监督学习是机器学习算法中重要的一种,对于监督学习,假设有mm…

    2022年10月12日
    4
  • PyCharm 使用简介

    PyCharm 使用简介最近由于项目需要 领导要求使用 Python 以方便扩展 没有办法 赶鸭子上架花了 2 天时间翻完了 python 的初级教程然后就开始写代码 有一款好的 IDE 可以帮助我快速上手一门新语言 这里就介绍一下 PyCharm 这个 python 的 IDE 吧 1 安装和首次使用 PyCharm nbsp 是我用过的 python 编辑器中 比较顺手的一个 而且可以跨平台 在 macos 和 windows 下面都可以用 这点比较好 nbsp nbsp nbsp 首

    2026年3月27日
    2
  • C++调用Lua教程

    C++调用Lua教程配置首先打开你的 VC6 因为我的是汉化版的 所以我就以汉化版的提示来说明 如果你的是英文版的 那么不请自己找对应的项目了 i msosorry 在 VC6 0 的菜单里找到工具 选项 目录选项卡 然后把对应的 nbsp h nbsp 文件和 nbsp lib nbsp 文件给添加进去 就是刚才让记住的路径里 具体的我就不多说了 添加好之后 就确定 如果你还安装了 nbsp VisualAssist nbsp 那么也要在

    2026年3月26日
    3
  • cmd查询mysql端口占用_windows cmd快速查看端口占用情况

    cmd查询mysql端口占用_windows cmd快速查看端口占用情况在调试服务或者程序的时候我们经常会通过检测对应端口是否打开来判断服务是否成功启动,本例就拿mysql的3306来实验。再看看3306端口是否已经被占用一、查看端口占用netstat-aon|findstr”3306″二、查看id对应的程序tasklist|findstr”6572″==============================C:\Users\Administrator>…

    2022年5月19日
    32
  • webstorm 激活【中文破解版】

    (webstorm 激活)这是一篇idea技术相关文章,由全栈君为大家提供,主要知识点是关于2021JetBrains全家桶永久激活码的内容https://javaforall.net/100143.htmlIntelliJ2021最新激活注册码,破解教程可免费永久激活,亲测有效,上面是详细链接哦~00OE5RWT28-eyJsaWNlb…

    2022年3月30日
    55
  • @JsonIgnore作用「建议收藏」

    @jsonignore的作用作用是json序列化时将javabean中的一些属性忽略掉,序列化和反序列化都受影响。如下:packagecom.hzboy.orm;importjava.util.List;importjavax.persistence.CascadeType;importjavax.persistence.Column;importj

    2022年4月11日
    121

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号