大小端
背景
字节序是一个处理器架构特性。
对于多字节数据,存在一个数据的字节安排问题(大小端)。
大小端取决与CPU架构,X86:小端,KEIL-C51:大端
记忆方式
- 大端 <=> 字符串顺序
实例分析
例:0x11223344(4B)在内存中存放时
大端:
数据的高位字节放在内存低地址,也就是说数据由高位字节向低位字节在内存中存放,
类似于字符串的存放,按照从左向右的顺序存放.
内存:0 1 2 3
11 22 33 44
优点
- 直接在内存中观察方便
缺点
不符合逻辑
不利于编码,解码
小端:
数据的高位字节放在内存高地址,也就是数据从低位字节向高位字节在内存中存放
内存:0 1 2 3
44 33 22 11
优点
- 这种存放方式比较符合逻辑
- 利于读入时的解码(转换成对应数据类型的值),如int i = 0x11223344,按ANSI
存放在文件中,再次读入时,需要根据ASCII码把对应的值转换成int型,容易处理,因为先
读入的是低位字节
缺点
- 直接在内存中观察时,不方便
注
- 以上数字都是十六进制形式;
- 假设变量地址为0