背景

字节序是一个处理器架构特性。

对于多字节数据,存在一个数据的字节安排问题(大小端)。

大小端取决与CPU架构,X86:小端,KEIL-C51:大端

记忆方式

  • 大端 <=> 字符串顺序

实例分析

例:0x11223344(4B)在内存中存放时

大端:

数据的高位字节放在内存低地址,也就是说数据由高位字节向低位字节在内存中存放,
类似于字符串的存放,按照从左向右的顺序存放.

内存:0  1  2  3
      11 22 33 44

优点

  1. 直接在内存中观察方便

缺点

  1. 不符合逻辑

  2. 不利于编码,解码

小端:

数据的高位字节放在内存高地址,也就是数据从低位字节向高位字节在内存中存放

内存:0  1  2  3
      44 33 22 11

优点

  1. 这种存放方式比较符合逻辑
  2. 利于读入时的解码(转换成对应数据类型的值),如int i = 0x11223344,按ANSI
    存放在文件中,再次读入时,需要根据ASCII码把对应的值转换成int型,容易处理,因为先
    读入的是低位字节

缺点

  1. 直接在内存中观察时,不方便

  1. 以上数字都是十六进制形式;
  2. 假设变量地址为0

留言

2015-11-02