字节序(Endian),大端(Big-Endian),小端(Little-Endian)
在各种计算机体系结构中,对于字节、字等的存储机制有所不同,因而引发了计算机通信领域中一个很重要的问题,即通信双方交流的信息单元(比特、字节、字、双字等等)应该以什么样的顺序进行传送。如果不达成一致的规则,通信双方将无法进行正确的编/译码从而导致通信失败。目前在各种体系的计算机中通常采用的字节存储机制主要有两种: big-edian和little-endian。 字节顺序 Endian 现代的计算机系统一般采用 字节 (Octet, 8 bit Byte)作为逻辑寻址单位。当物理单位的长度大于1个字节时,就要区分 字节顺序 (Byte Order, or Endianness )。常见的字节顺序有两种: Big Endian (High-byte first)和 Little Endian (Low-byte first),这就是表2.1中的 BE 和 LE 。Intel X86平台采用Little Endian,而PowerPC处理器则采用了Big Endian。举例来说,整型数字$ 1234ABCD 存储的时候就会有两种方式: 字节顺序 内存数据 备注 Big Endian (BE) 0xAB 0xCD 0x12 0x34 此时的0xAB被称为 most significant byte ( MSB ) Little Endian (LE) 0xCD 0xAB 0x34 0x12