一直以为自己对大端小端的区别已经掌握得很清楚了,没想到在实际应用中还是会犯糊涂,这里记录一下,同样的错误不能再犯了。uint32_t temp = 0x01020304;大端:&temp地址处存放的是高字节,即((uint8_t *)&temp)[0] = 0x01;小端:&temp地址处存放的是低...
分类:
其他好文 时间:
2014-10-11 20:27:16
阅读次数:
195
详解大端模式和小端模式转载自:http://blog.csdn.net/ce123_zhouwei/article/details/6971544一、大端模式和小端模式的起源 关于大端小端名词的由来,有一个有趣的故事,来自于Jonathan Swift的《格利佛游记》:Lilliput和Ble...
分类:
其他好文 时间:
2014-09-28 18:14:45
阅读次数:
245
大端小端问题:内存从左到右读史从高低址到低地址,故为小端字节对齐问题:常见的32位系统struct A{ int a; char b; short c;};struct B{ char b; int a; short c;};A占8字节,B占12字节。union{ int a; char b[2];...
分类:
编程语言 时间:
2014-09-27 01:53:08
阅读次数:
176
union有一个作用就是判断,pc是大端存储还是小端存储的,x86是小端存储的,这个东西是有cpu决定的。arm(由存储器控制器决定)和x86一样都是小端的。下面的是一个大端小端的一个例子,代码如下:下面是一个利用union判断PC是大端小端的例子,代码如下:
分类:
其他好文 时间:
2014-09-25 10:37:38
阅读次数:
192
大端法:高位字节排放在内存低地址端,低位字节排放在内存的高地址端。小端法:低位字节排放在内存的低地址端,高位字节排放在内存的高地址端。看一个unsigned short 数据,它占2个字节,给它赋值0x1234。若采用的大端法,则其低地址端应该存放的是0x12;若采用的小端法,则其低地址端应该存放的...
分类:
其他好文 时间:
2014-09-23 21:31:45
阅读次数:
270
1. 网络数据传输时需要考虑字节序问题,即大端小端问题:
x86系列CPU都是little-endian的字节序.
网络字节顺序是TCP/IP中规定好的一种数据表示格式,它与具体的CPU类型、操作系统等无关,从而可以保证数据在不同主机之间传输时能够被正确解释。网络字节顺序采用big endian排序方式。
为了进行转换 bsd socket提供了转换的函数 有下面四个
h...
分类:
其他好文 时间:
2014-09-19 12:08:35
阅读次数:
213
一、字节序定义字节序,顾名思义字节的顺序,再多说两句就是大于一个字节类型的数据在内存中的存放顺序(一个字节的数据当然就无需谈顺序的问题了)。其实大部分人在实际的开发中都很少会直接和字节序打交道。唯有在跨平台以及网络程序中字节序才是一个应该被考虑的问题。在所有的介绍字节序的文章中都会提到字节序分为两类...
分类:
其他好文 时间:
2014-09-14 12:36:47
阅读次数:
565
struct Test{ unsigned short int a:5;//a1a2a3a4a5 unsigned short int b:5;//b1b2b3b4b5 unsigned short int c:6;//c1c2c3c4c5c6
}; 首先排排好 低地址----高地址 a1a2a3a...
分类:
其他好文 时间:
2014-09-03 11:12:57
阅读次数:
292
原帖:http://www.cnblogs.com/darktime/p/3298075.html不同的CPU有不同的字节序类型 这些字节序是指整数在内存中保存的顺序 这个叫做主机序最常见的有两种1. Little endian:将低序字节存储在起始地址2. Big endian:将高序字节存储在起...
分类:
编程语言 时间:
2014-08-23 16:40:21
阅读次数:
291