当前位置:首页 > 嵌入式培训 > 嵌入式学习 > 讲师博文 > 计算机中的大小端存储

计算机中的大小端存储 时间:2018-09-26      来源:未知

在讲C语言的时候,有讲到大小端的内容,这里呢对大小端的相关内容进行了整理,有需要的可以参考一下!

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

在内存中,数据是以字节(8bit)存储的,当存储16bit的int或者32bit的long(与操作系统有关),就面临着大端 (Big-Endian) 存储还是小端 (Little-Endian) 存储的问题。下面解释一下大端存储和小端存储的概念。

大端存储:高字节存储在低地址中,即高位先存;

小端存储:低字节存储在高地址中,即低位先存。

其实这两个概念不难理解,但是比较容易记混。由于大端序和小端序都是从存储器的低地址开始向高地址存储数据,不同的是一个字数据中先存高字节还是先存低字节。可以记住这样一个口诀:“高大低小”。“高”是指高字节,“大”是指大端序,“低”是指低字节,“小”是指小端序,“高大低小”也即先存高字节为大端序,先存低字节为小端序。

举个例子说明这个问题:

位宽为32bit的CPU,要存储的字数据为0x12345678,起始地址为0x4000。

大端存储如下: 

小端存储如下:

一般地,Intel系列的CPU采用小端存储,KEIL C51则为大端存储。 同时,在网络传输中,网络协议需要指定网络字节顺序,TCP/IP协议中使用16位整数和32位整数的高位先存模式,对应我们的大端模式。

以上就是计算机中的大小端的存储模式。

上一篇:Android事件分发

下一篇:将图片打造铅笔素描效果

热点文章推荐
华清学员就业榜单
高薪学员经验分享
热点新闻推荐
前台专线:010-82525158 企业培训洽谈专线:010-82525379 院校合作洽谈专线:010-82525379 Copyright © 2004-2022 北京华清远见科技集团有限公司 版权所有 ,京ICP备16055225号-5京公海网安备11010802025203号

回到顶部