一、为什么会出现大小端模式?
不同的cpu采用的大小端模式不一致。X86是小端模式。而KEIL
C51则为大端模式。很多的ARM,DSP都为小端模式。有些ARM处理器还可以由硬件来选择是大端模式还是小端模式。
二、大小端模式的不同带来的问题是什么?如何解决?
如果存在数据网络传输,如果大小端模式不一致,如果不经过转换,必然会导致数据不致,出现错误。
解决方法:统一将网络上传输的...
分类:
其他好文 时间:
2015-06-03 11:53:27
阅读次数:
112
///////////////////
#include
//-----------------
union int_char
{
unsigned char ch[4];
float i;
};
void out_put(union int_char x)//x86是小端对其模式,即最数据的最低位存储在地址的最低位上。
{
printf("单精度浮点数值为:%f\n"...
分类:
其他好文 时间:
2015-06-01 22:37:36
阅读次数:
264
基本概念我们可以把计算机的内存抽像成一个大的数组,在这个数组中,包含了一个个的字节元素。对于大小端的讨论,我们可以认为内存的最小单元即是一个字节(byte)。对于每个字节,我们可以使用一个“索引”来标识,这个索引亦即我们平常所说的内存的地址。
假定计算机的字长为32位,即一个字包括4个字节。对于一个32位整数,例如,0x90AB12CD。由于每个十六进制的数字代表了4个位(bits),故我们需要8...
分类:
其他好文 时间:
2015-06-01 16:44:30
阅读次数:
151
整数在内存中保存的顺序随CPU的不同而有所区别,最常见的有两种:低位编址(地址低位存储值的低位,地址高位存储值的高位)和高位编址(地址低位存储值的高位,地址高位存储值的低位)。
分类:
其他好文 时间:
2015-05-26 10:30:04
阅读次数:
143
1. 什么是大端,什么是小端:所谓的大端模式,是指数据的低位保存在内存的高地址中,而数据的高位,保存在内存的低地址中;所谓的小端模式,是指数据的低位保存在内存的低地址中,而数据的高位保存在内存的高地址中。2.为什么会有大小端: 为什么会有大小端模式之分呢?这是因为在计算机系统中,我们是以字节为单.....
分类:
其他好文 时间:
2015-05-23 22:36:27
阅读次数:
173
二进制与十六进制转换2n ,n=i+4*j i对应j ,为1(i=0)、2(i=1)、4(i=2)、8(i=3)那么十六进制就是: i映射值后面加j个0字字长决定虚拟地址空间,如字长为w位,则虚拟地址范围为0~2w-1,程序最多访问2w个字节,如32位,限定了虚拟地址为4GB寻址和字节顺序 小端法 ...
分类:
编程语言 时间:
2015-05-19 22:22:11
阅读次数:
120
详解大端模式和小端模式嵌入式开发交流群280352802,欢迎加入!一、大端模式和小端模式的起源 关于大端小端名词的由来,有一个有趣的故事,来自于Jonathan Swift的《格利佛游记》:Lilliput和Blefuscu这两个强国在过去的36个月中一直在苦战。战争的原因:大家都知道,吃鸡...
分类:
其他好文 时间:
2015-05-19 12:42:33
阅读次数:
159
参考资料维基百科:http://zh.wikipedia.org/wiki/%E5%AD%97%E8%8A%82%E5%BA%8F术语定义 Byte Endian :字节序,是指字节在内存中的组织顺序,所以也称为Byte Ordering或Byte Order。 Big Endian :大端模式,是...
分类:
其他好文 时间:
2015-05-18 20:12:05
阅读次数:
133