一、比特序/位序
比特序表示一个字节中8个比特位(bit)之间的顺序问题。分为LSB 0 位序和MSB 0 位序。
LSB:最低有效位 MSB:最高有效位
LSB(least significant bit) 0位序:数据的最低位存放在字节的第0位。
MSB (most significant bit) 0位序:数据的最高位存放在字节的第0位。
例如有一个十进制的数为174,对应的二进制数为1010 1110.
1.在LSB 0 位序下,其存储形式如下图:
数据流的顺序为0-1-1-1-0-1-0-1
2.在MSB 0 位序下,其存储形式如下图:
数据流的顺序为1-0-1-0-1-1-1-0
CPU存储数据操作的最小单位是一个字节(Byte),其内部的比特序对程序员并不可见。
二、字节序和大小端
只有多字节数据存储时才会考虑大小端。
数据的高字节保存在内存的低地址,称为大端模式(大端序)。
数据的高字节保存在内存的高地址,称为小端模式(小端序)。
对于大端模式,一个占有4个字节类型的数据0x00112233在内存中如下分布: