在芯片手册(Datasheet)中,**LSB(Least Significant Bit)和MSB(Most Significant Bit)**是二进制数据的两个重要概念:
-
LSB(最低有效位)
- 代表二进制数中权重最小的位(通常是最右边的一位)。
- 在数据传输或寄存器描述中,有时会标记为
Bit 0
。 - 例如,二进制数
1011_0010
中,最右边的0
就是LSB。
-
MSB(最高有效位)
- 代表二进制数中权重最大的位(通常是最左边的一位)。
- 在数据传输或寄存器描述中,有时会标记为
Bit N-1
(N是数据的位数,如8位数据的MSB是Bit 7
)。 - 例如,二进制数
1011_0010
中,最左边的1
就是MSB。
示例:8位数据
Bit 7 (MSB) | Bit 6 | Bit 5 | Bit 4 | Bit 3 | Bit 2 | Bit 1 | Bit 0 (LSB) |
---|---|---|---|---|---|---|---|
1 | 0 | 1 | 1 | 0 | 0 | 1 | 0 |
重要用途:
-
数据表示
- 在无符号整数中,MSB的权重最高,LSB的权重最低。
- 例如:
0000_0001
表示1,而1000_0000
表示128(8位无符号整数)。
-
数据传输(字节序)
- 大端模式(Big-Endian):MSB存放在较低地址,LSB存放在较高地址。
- 小端模式(Little-Endian):LSB存放在较低地址,MSB存放在较高地址。
- 例如,16位数
0x1234
:- 大端存储(MSB优先):
[0x12] [0x34]
- 小端存储(LSB优先):
[0x34] [0x12]
- 大端存储(MSB优先):
-
移位操作
- 左移(
<<
):让MSB向左移,可能丢弃MSB并填充LSB为0。 - 右移(
>>
):让LSB向右移,可能丢弃LSB,并根据情况填充MSB。
- 左移(
如果你在芯片手册中看到LSB/MSB,通常与数据位、寄存器描述或数据传输格式相关。