历史上的今天
返回首页

历史上的今天

今天是:2025年01月03日(星期五)

正在发生

2020年01月03日 | ARM存储格式之大端小端

2020-01-03 来源:eefocus

开头讲个有关大端小端的故事:

  端模式(Endian)的这个词出自Jonathan Swift书写的《格列佛游记》。这本书根据将鸡蛋敲开的方法不同将所有的人分为两类,从圆头开始将鸡蛋敲开的人被归为Big Endian,从尖头开始将鸡蛋敲开的人被归为Littile Endian。小人国的内战就源于吃鸡蛋时是究竟从大头(Big-Endian)敲开还是从小头(Little-Endian)敲开。在计算机业Big Endian和Little Endian也几乎引起一场战争。  

 

  我们知道在内存中数据是以字节为单位进行存储的,每个地址单元对应着一个字节(byte),一个字节为8位(bite)。但是很多时候数据除了8bit额char外,还有16bit的short,32位的long型(要看具体的编译器),必然存在多字节安排的问题。不同的计算机存放多字节值的顺序不同,有些机器在起始地址存放低位字节(低位先存),即小端模式;有的机器在起始地址存放高位字节(高位先存),即大端模式。基于Intel的CPU,采用的是低位先存。而KEIL C51则为大端模式。大端小端对应着数据在存储器中的存放顺序。


  同时,在网络传输中,网络协议需要指定网络字节顺序,TCP/IP协议中使用16位整数和32位整数的高位先存模式,对应我们的大端模式。


  下面是两个具体例子:

  16bit宽的数0x1234在Little-endian模式(以及Big-endian模式)CPU内存中的存放方式(假设从地址0x4000开始存放)为:

内存地址小端模式存放内容大端模式存放内容
0x40000x340x12
0x40010x120x34

  32bit宽的数0x12345678在Little-endian模式以及Big-endian模式)CPU内存中的存放方式(假设从地址0x4000开始存放)为:

内存地址小端模式存放内容大端模式存放内容
0x40000x780x12
0x40010x560x34
0x40020x340x56
0x40030x120x78

  联合体union的存放顺序是所有成员都从低地址开始存放,利用该特性可以轻松地获得了CPU对内存采用Little-endian还是Big-endian模式读写。


  写程序判断处理器是Little-endian模式,还是Big-endian模式,可以通过以下程序:

  1>.通过将int强制类型转换成char单字节,通过判断起始存储位置。

http://blog.sina.com.cn/s/blog_3fa943920100ob37.html 我觉得这篇博文写的很详细。通过本文对大端小端模式有了一个比较深的理解吧。也希望对读者有些许帮助,谢谢!接下来我会总结下联合Union结构和Struct的区别。

推荐阅读

史海拾趣

ERNI公司的发展小趣事

进入21世纪,ERNI继续深耕连接器技术。他们成功研发出世界上第一个DIN连接器,并随后发展了各种电路板连接器和输入/输出连接器。其中,2mm连接器成为ERNI的明星产品之一。凭借其优越的性能和可靠的品质,ERNI的2mm连接器在国内军工领域得到广泛应用,并赢得了广大客户的信赖和好评。

AEM [ American Electronic Materials]公司的发展小趣事

在追求经济效益的同时,AEM始终关注环境保护和可持续发展。公司积极响应全球环保倡议,采用环保材料和生产工艺,减少生产过程中的废弃物排放和能源消耗。同时,AEM还投入大量资源研发节能环保的电子元器件产品,为客户提供更加绿色、高效的解决方案。

此外,AEM还积极参与社会公益活动,关注社会责任。公司通过捐款、赞助等方式支持教育、文化等事业的发展,为社会的和谐与进步贡献了自己的力量。

HDP_Power公司的发展小趣事

在电子行业的发展过程中,AEM始终保持着对技术创新的追求。公司不断投入巨资进行技术研发,引进先进的生产设备和制造工艺,致力于提升产品的性能和品质。通过多年的努力,AEM成功突破了多项技术难题,取得了一系列重要的技术成果。

此外,AEM还积极与产业上下游的企业进行合作,共同推动电子行业的发展。通过与供应商和客户的紧密合作,AEM不断优化供应链和销售渠道,提高了公司的运营效率和市场竞争力。

芯源半导体(CW)公司的发展小趣事

作为一家有社会责任感的企业,芯源半导体(CW)公司始终关注环境保护和可持续发展。公司积极推广绿色生产和循环经济理念,采用环保材料和节能技术,减少生产过程中的污染和浪费。同时,公司还积极参与社会公益事业,为当地社区和弱势群体提供帮助和支持。这些举措使芯源半导体(CW)公司赢得了社会的广泛赞誉和尊重。

Hengstler GmbH公司的发展小趣事

作为一家有社会责任感的企业,芯源半导体(CW)公司始终关注环境保护和可持续发展。公司积极推广绿色生产和循环经济理念,采用环保材料和节能技术,减少生产过程中的污染和浪费。同时,公司还积极参与社会公益事业,为当地社区和弱势群体提供帮助和支持。这些举措使芯源半导体(CW)公司赢得了社会的广泛赞誉和尊重。

场效应半导体(Cmos)公司的发展小趣事

高通(Qualcomm)在移动通信领域的迅猛发展也离不开CMOS技术的支持。高通在CMOS技术研发方面投入了大量资源,成功地将CMOS技术应用于其移动通信芯片产品中。这些芯片产品以其卓越的性能和出色的功耗控制而广受手机制造商的青睐。随着移动通信技术的不断进步,高通在CMOS技术方面的创新也不断推动着移动通信产业的发展。

问答坊 | AI 解惑

一种谐波和无功电流检测的新算法

摘要:分析了并联有源滤波器的基本工作原理,提出了一种谐波和无功电流检测的新算法,对此作了详细的理论分析。此检测算法不需要锁相环,能准确检测出负载电流中谐波及无功分量。对这种检测算法用MATLAB进行了仿真,并在以TMS320F2407DSP为控制核心 ...…

查看全部问答>

销量急剧下跌, MP4产业出路在何方

最近买了个mp4,国产货,质量实在令人汗然...这就令我想到一个话题,MP4产业到底路在何方? 说到MP4就会想到一个小小的集音乐、视频、游戏等娱乐功能在一身的数码播放器,MP4曾经一度被许多人认为会取代MP3,成为未来个人随身移动多媒体设备的宠儿。 ...…

查看全部问答>

SK-182A 2合1 编码调制板

SK-182A 2合1 编码调制板   SK-182A 编码调制一体化模块体积小功耗低,完全符合DVB-T标准,支持标准的COFDM调制和标准MPEG2编码,支持标准的视频信号输入模式,平衡的立体声输入,各种电气性能完全符合ETSI EN 300744的标准要求。 SK-182A ...…

查看全部问答>

MDK中国版例程服务包

服务包大小:50.5M 下载地址:http://www.realview.com.cn/down-list.asp?id=611 RealView MDK 3.24下载地址:http://www.realview.com.cn/down-list.asp?id=610 使用说明:将MDK中国版例程服务包解压到MDK的安装目录下C:\\Keil\\ARM覆盖即可 B ...…

查看全部问答>

汽车电子领域高可靠性的焊接设备

一。选择性波峰焊用途电路板插装元件的减少以及表面贴装元件的小型化和精细化,推动了回流焊工艺的不断进步,目前已取代波峰焊成为一种主流焊接工艺。然而,并非所有的元件均适宜回流焊炉中的高温加热,在许多场合中,插装元件仍得到了较为广泛的应 ...…

查看全部问答>

---------WINCE5.0安装问题----------------

以前在PC上安装过wince5.0(系统是win2k server),过期后卸载重新安装总是出问题。现在换了一块硬盘,重新装系统win2k server sp4,并且安装了net compactwork1.1,但是安装WINCE5.0的时候仍出问题。弹出窗口意思是如果是WIN2K系统需要SP4,如果是W ...…

查看全部问答>

EPWM问题

今天编了个PWM波形的文件,奇怪的是EPWM1B输出居然和我编写时预计的输出波形反相。 我用同样的方法编写了其他几个口出来的波形和我预计的是一样的。 难不成中头奖了。 [ 本帖最后由 安_然 于 2010-8-19 17:37 编辑 ]…

查看全部问答>