转载源自:http://www.cnblogs.com/looksgood/archive/2009/11/02/1594535.html
计算机都是以八位一个字节为存储单位,那么一个16位的整数,也就是C语言中的short,在内存中可能有两种存储顺序big-endian和litte-endian.考虑一个short整数0x3132(0x32是低位,0x31是高位),把它赋值给一个short变量,那么它在内存中的存储可能有如下两种情况:
大端字节(Big-endian):
----------------->>>>>>>>内存地址增大方向
short变量地址
0x1000 0x1001
_____________________________
|| |
|0x31 | 0x32 |
|_______________| ____________|
高位字节在低位字节的前面,也就是高位在内存地址低的一端.可以这样记住(大端->高位->在前->正常的逻辑顺序)
小端字节(little-endian):
----------------->>>>>>>>内存地址增大方向
short变量地址
0x1000 0x1001
_____________________________
| | |
|0x32 | 0x31 |
|______________|_____________|
低位字节在高位字节的前面,也就是低位在内存地址低的一端.可以这样记住(小端->低位->在前->与正常逻辑顺序相反)
总结:
大端模式(Big_endian) :字数据的高字节存储在低地址中,而字数据的低字节则存放
在高地址中。
小端模式(Little_endian) :字数据的高字节存储在高地址中,而字数据的低字节则存放
在低地址中。
union型数据所占的空间等于其最大的成员所占的空间。对 union型的成员的存取都是
相对于该联合体基地址的偏移量为 0 处开始, 也就是联合体的访问不论对哪个变量的存取都
是从 union的首地址位置开始,因此,大小端模式存储将会直接影响union内成员的值。
例如:
Union check
{
int i;
char ch;
} c;
c.i = 1;
printf("%d",c.ch);
如果存储为大端模式,则输出为0,如果为小端模式,则输出1。
我们常用的X86结构是小端模式,而KEIL C51则为大端模式。很多的ARM,DSP都为小端模式。有些ARM处理器还可以由硬件来选择是大端模式还是小端模式。
分享到:
相关推荐
在各种体系的计算机中通常采用的字节存储机制主要有两种: big-endian和little-endian,即大端模式和小端模式。
所谓的大端模式,是指数据的低位(就是权值较小的后面那几位)保存在内存的高地址中,而数据的高位,保存在内存的低地址中,这样的存储模式有点儿类似于把数据当作字符串顺序处理:地址由小向大增加,而数据从高位往...
本文主要描述大端小端的概念,分类和区别,还讲述了他们的由来,以及各自的优缺点,对初识者具有很大的帮助
描述大端、小端模式,给出了如何判断CPU是哪种模式的代码!
大端 小端
关于大端小端名词的由来,有一个有趣的故事,来自于Jonathan Swift的《格利佛游记》:Lilliput和Blefuscu这两个强国在过去的36个月中一直在苦战。
西门子PLC接口,大端和小-Endian的存储格式pdf,西门子PLC接口,大端和小-Endian的存储格式:本文介绍了SINUMERIK:PLC接口,和Little-Endian的Big-Endian的存储格式
前些时候面试的时候的考题,现场没有写好,回来仔细想了想写出来的。聊表慰藉吧。
little endian,big endian 小端存储、大端存储.zip
大端存储和小端存储秒懂+程序员+秒懂
运行程序,可判识并输出程序所在平台的存储方式,是大端还是小端。
本资源代码是自己编写解决获取的数据是大端格式转化为小端格式,并在PC机查看*.jpg文件,希望对大家有用。
小端大端透析-附检测代码,帮你理清计算机、单片机的大小端存储,含图片形象解析;附测试代码,方便测试;是计算机专业和电子专业以及广大单片机开发人员必备资料
大端和小端的区别,数据在内存里面存放的方式,源代码讲解,发上来大家一起学习下!
在各种体系的计算机中通常采用的字节存储机制主要有两种: big-endian和little-endian,即大端模式和小端模式。 先回顾两个关键词,MSB和LSB: MSB:Most Significant Bit ------- 最高有效位 LSB:Least ...
开头讲个有关 大端小端的故事: 端模式(Endian)的这个词出自Jonathan Swift书写的《格列佛游记》。这本书根据将鸡蛋敲开的方法不同将所有的人分为两类,从圆头开始将鸡蛋敲开的人被归为Big Endian,从尖头...
开头讲个有关 大端小端的故事: 端模式(Endian)的这个词出自Jonathan Swift书写的《格列佛游记》。这本书根据将鸡蛋敲开的方法不同将所有的人分为两类,从圆头开始将鸡蛋敲开的人被归为Big Endian,从尖头...
存储模式介绍 编程开发必知,大端模式,小端模式
自己根据spy3中的大端与小端的使用,总结出大小端的理解与区别,及intel与motorola
字节序转换辅助类,short大小端转换,ushort大小端转换,int大小端转换,uint大小...short类型 小端转大端,short类型 大端转小端,int类型 小端转大端,int类型 大端转小端,long类型 小端转大端,long类型 大端转小端