一、大端序与小端序的定义
(一)大端序(Big - Endian)
- 字节序特点
- 在大端序中,数据的高位字节存放在内存的低地址端,低位字节存放在内存的高地址端。也就是说,当你把一个数据看作一个整体,它的“头部”(高位部分)先被存储。
- 例如,一个32位的整数0x12345678(十六进制表示),在大端序存储时,内存地址从低到高依次存放的字节是0x12、0x34、0x56、0x78。就像我们正常阅读文字一样,从左到右,高位在前。
- 位序特点
- 对于字节内的位(bit)排列,大端序也是高位在前。例如,一个字节0b10110101(二进制表示),从左到右,第0位(最低位)是1,第7位(最高位)是1。
(二)小端序(Little - Endian)
- 字节序特点
- 小端序与大端序相反,数据的低位字节存放在内存的低地址端,高位字节存放在内存的高地址端。这就好比把数据倒过来存放。
- 以32位整数0x12345678为例,在小端序存储时,内存地址从低到高依次存放的字节是0x78、0x56、0x34、0x12。就像把一个数字反过来写,低位在前。 <