注:本文为关于 “MSB/LSB 与字节序” 相关文章合辑。
英文引文,机翻未校。
中文引文,未全整理去重。
有删减,如有内容异常,请看原文。
Understanding MSBFIRST (Most Significant Bit) and LSBFIRST (Least Significant Bit)
理解 MSBFIRST(最高有效位)和 LSBFIRST(最低有效位)
February 4, 2024
In this article, we explain the concepts of MSB (Most Significant Bit) and LSB (Least Significant Bit), along with MSBFIRST and LSBFIRST. Finally, we provide a demonstration of how the use of MSBFIRST and LSBFIRST affects the outputs of shift registers.
在本文中,我们解释了 MSB(最高有效位)和 LSB(最低有效位)的概念,以及 MSBFIRST 和 LSBFIRST。最后,我们展示了 MSBFIRST 和 LSBFIRST 的使用如何影响移位寄存器的输出。
MSB and LSB
最高有效位和最低有效位
The MSB, or Most Significant Bit, refers to a specific bit in a binary number. The Most Significant Bit, holds the higher weight or value in the binary representation. It is also known as the left-most bit or higher-order bit. In contrast, the LSB, or Least Significant Bit, refers to the lowest value bit in a number, making it the right-most bit or the low-order bit.
最高有效位(MSB)是指二进制数中的一个特定位。最高有效位在二进制表示中具有更高的权重或值,也被称为最左边的位或高位。相反,最低有效位(LSB)是指一个数中值最低的位,因此它是最右边的位或低位。
MSBFIRST and LSBFIRST
MSBFIRST 和 LSBFIRST
In the serial transfer of data in electronics, when transmitting a binary number, we usually have to decide about whether to start the transfer from the leftmost or rightmost bit. This is referred to as MSBFIRST and LSBFIRST.
在电子学中,进行数据的串行传输时,当我们传输一个二进制数时,通常需要决定是从最左边的位还是最右边的位开始传输。这被称为 MSBFIRST 和 LSBFIRST。
For example, consider the shiftOut function in Arduino, which transfers a byte of data one bit at a time. The function includes a parameter (bitOrder) that allows us to specify whether the byte should be sent starting from its MSB or LSB.
例如,考虑 Arduino 中的 shiftOut 函数,它一次传输一个字节的数据,每次一位。该函数包含一个参数(bitOrder),允许我们指定是从字节的最高有效位还是最低有效位开始发送。
shiftOut(dataPin, clockPin, bitOrder, value)
Configuring this parameter becomes more important when working with various digital components, such as shift registers. For instance, transferring a byte to a shift register starting from its Most Significant Bit will yield a different result compared to starting from its Least Significant Bit.
当使用各种数字元件(如移位寄存器)时,配置此参数变得更加重要。例如,从最高有效位开始将一个字节传输到移位寄存器,与从最低有效位开始传输,结果会有所不同。
74HC595 Shift Register with MSBFIRST and LSBFIRST
74HC595 移位寄存器与 MSBFIRST 和 LSBFIRST
In this section, we explore two distinct examples of utilizing the shiftOut function with MSBFIRST and LSBFIRST parameters to write a binary number to the 74HC595 shift register. The same principles apply across all other shift register models.
在本节中,我们探讨了两个使用 shiftOut 函数与 MSBFIRST 和 LSBFIRST 参数将二进制数写入 74HC595 移位寄存器的不同示例。这些原理适用于所有其他移位寄存器型号。
In the code below, we write the 8 - bit binary number ‘01001010’ to the shift register with MSBFIRST configuration:
在下面的代码中,我们将 8 位二进制数 ‘01001010’ 以 MSBFIRST 配置写入移位寄存器:
Shift Register - MSBFIRST Example#define SERIAL_PIN 4
#define LATCH 3
#define CLOCK_PIN 2
void setup() {
pinMode(SERIAL_PIN, OUTPUT);
pinMode(LATCH, OUTPUT);
pinMode(CLOCK_PIN, OUTPUT);
digitalWrite(LATCH, LOW);
shiftOut(SERIAL_PIN, CLOCK_PIN, MSBFIRST, B01001010);
digitalWrite(LATCH, HIGH);
}
void loop() { }
In this configuration, the shift register’s outputs will have the leftmost digit of the binary number ‘01001010’ in the Q7 output, with its rightmost digit at the Q0 output after the transfer.
在这种配置中,移位寄存器的输出将在 Q7 输出端有二进制数 ‘01001010’ 的最左边的数字,在传输后其最右边的数字将在 Q0 输出端。
Similarly, the code snippet below, illustrates writing the binary number ‘01001010’ to the shift register, but this time with LSBFIRST configuration:
类似地,下面的代码片段展示了将二进制数 ‘01001010’ 写入移位寄存器,但这次使用 LSBFIRST 配置:
Shift Register - LSBFIRST Example#define SERIAL_PIN 4
#define LATCH 3
#define CLOCK_PIN 2
void setup() {
pinMode(SERIAL_PIN, OUTPUT);
pinMode(LATCH, OUTPUT);
pinMode(CLOCK_PIN, OUTPUT);
digitalWrite(LATCH, LOW);
shiftOut(SERIAL_PIN, CLOCK_PIN, LSBFIRST, B01001010);
digitalWrite(LATCH, HIGH);
}
void loop() { }
With LSBFIRST, we will have a different outcome, the shiftOut function will begin to transfer the number to the shift register by beginning from its rightmost digit. This way, the rightmost digit of the number ‘01001010’ will be located in the Q7 output, while its leftmost digit will appear at the Q0 output after the transfer.
使用 LSBFIRST 时,结果会有所不同,shiftOut 函数将从数字的最右边的数字开始,将数字传输到移位寄存器。这样,数字 ‘01001010’ 的最右边的数字将位于 Q7 输出端,而其最左边的数字将在传输后出现在 Q0 输出端。
LSB(最低有效位)和 MSB(最高有效位)
聚优致成于 2016 年 04 月 18 日 09:55:29 发布
1. 最低有效位(Least Significant Bit,LSB)
最低有效位(Least Significant Bit,LSB)是指一个二进制数字中的第 0 位(即最低位),其权值为 2 0 2^0 20,可用于检测数的奇偶性。在大端序(Big-Endian)中,LSB 是最右边的位。LSB 代表二进制数中的最小单位,可用于指示数字的微小变化。有时 LSB 也指 Least Significant Byte,即多字节序列中最小权重的字节。
图 1 无符号数 149 的二进制形式,蓝色为最高有效位
2. 最高有效位(Most Significant Bit,MSB)
最高有效位(Most Significant Bit,MSB)是指一个 n n n 位二进制数字中的第 n − 1 n - 1 n−1 位,其权值为 2 n − 1 2^{n - 1} 2n−1。在大端序(Big-Endian)中,MSB 是最左端的位。对于有符号二进制数,负数通常采用反码或补码形式,此时 MSB 用于表示符号:MSB 为 1 表示负数,0 表示正数。有时 MSB 也指 Most Significant Byte,即多字节序列中具有最大权重的字节。
图 2 无符号数 149 的二进制形式,蓝色为最高有效位
3. 字节序(Endian)
3.1 字节序的起源
在不同的计算机体系结构中,字节、字等数据单元的存储顺序存在差异,这引发了通信领域中的一个关键问题:通信双方交换的信息单元(包括比特、字节、字、双字等)应遵循何种顺序进行传输。若通信双方未达成一致规则,将无法进行准确的编码与译码,进而导致通信失败。1980 年,Danny Cohen 在其论文 “On Holy Wars and a Plea for Peace” 中,引用了 “Endian” 这一术语,将支持从最高位开始传输的一方称为 “Big-Endians”,而将支持从最低位开始传输的一方称为 “Little-Endians”。此后,“Endian” 一词被广泛使用。
3.2 Little-Endian 与 Big-Endian
字节序主要针对多个字节组成的序列而言,常见的两种字节序是:
- 小端序(Little-Endian):将低序字节存储在起始地址(低位编址)。
- 大端序(Big-Endian):将高序字节存储在起始地址(高位编址)。
例如,将 0x1234abcd
写入以 0x0000
为起始地址的内存中,其存储结果如下:
地址(address) | 大端序(Big-Endian) | 小端序(Little-Endian) |
---|---|---|
0x0000 | 0x12 | 0xcd |
0x0001 | 0x34 | 0xab |
0x0002 | 0xab | 0x34 |
0x0003 | 0xcd | 0x12 |
注:每个地址存储 1 个字节,2 位十六进制数表示 1 个字节(0xFF = 11111111)。
3.3 字节序的应用
如果程序仅在单机环境下运行且不与其他程序交互,可以忽略字节序。但如果程序需要与其他程序交互,字节序问题则不容忽视。例如,C/C++ 语言编写的程序的数据存储顺序与编译平台所在的 CPU 相关,而 Java 编写的程序则统一采用大端序(Big-Endian)来存储数据。当 C/C++ 程序在小端序(Little-Endian)的 x86 平台下运行并与 Java 程序进行数据交互时,数据可能会因字节序不一致而发生错误。因此,在跨平台数据交互时,需要进行字节序的转换。
所有网络协议均采用大端序(Big-Endian)的方式传输数据,因此大端序也被称为网络字节序。当两台采用不同字节序的主机进行通信时,发送方必须将数据转换为网络字节序后再进行传输。ANSI C 提供了用于转换字节序的宏,以确保数据在不同字节序的系统之间能够正确传输。
4. 比特序问题
CPU 存储一个字节的数据时,字节内的 8 个比特之间的顺序也存在大端序(Big-Endian)和小端序(Little-Endian)之分。
以数字 0xB4
(二进制为 10110100)为例:
-
大端序(Big-Endian):
msb lsb ---------------------------------------------> ++-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | 1 | 0 | 1 | 1 | 0 | 1 | 0 | 0 | ++-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
-
小端序(Little-Endian):
lsb msb ---------------------------------------------> ++-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | 0 | 0 | 1 | 0 | 1 | 1 | 0 | 1 | ++-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
然而,由于 CPU 存储数据操作的最小单位是一个字节,其内部的比特序对于程序来说是不可见的,如同一个黑盒子。程序通过指针访问数据时,无论 CPU 是大端序还是小端序,最终得到的数值始终是相同的。例如,对于指向 0xB4
的指针,程序读取到的值始终是 0xB4
。
在网络传输中,如果传输的是单字节数据,则不会因比特序问题导致错误。但如果传输的是多字节数据(如 32 比特的数),由于小端序 CPU 会先发送最低有效字节(LSB),而接收方可能会将其误认为最高有效字节(MSB),从而导致数据混乱。因此,在网络通信中,通常需要将数据转换为网络字节序(大端序)后再进行传输。
MSB 和 LSB 在网络通信中的应用
我是一只老鸟于 2016 年 10 月 20 日 17:29:33 发布
在网络通信方面,更多讨论的是 “Big-Endian” 和 “Little-Endian” 的问题,它们指的是对于多字节的数据类型(如 4 字节的 32 位整数),其多个字节的顺序问题,即最高字节在前(Big-Endian)还是最低字节在前(Little-Endian)。
例如对于 0x12345678
这个数,按照 Little-Endian 的方式,它在网络上传输(或在内存里存储)的 4 个字节依次是:12 34 56 78
(右为低地址,地址的增长顺序与值的增长顺序相同,12
为最低字节);而 Big-Endian 的顺序则相反,是:78 56 34 12
(右为低地址,地址的增长顺序与值的增长顺序相反)。
MSB 和 LSB 虽然与字节序问题看似相似,但并非同一回事。在一个芯片的管脚中,对于一个多比特的信号,如 32 根的地址线,从低开始按 0 到 31 编号。MSB 是 31,LSB 是 0。若标记为:ADDR [31:0]
就是 MSB first 的方式,若标记为 ADDR [0:31]
就是 LSB first 的方式。
- MSB LSB:起始地址为最高位,最后地址为最低位。
- LSB MSB:起始地址为最低位,最后地址为最高位。
例如在 AD 中,8 位数据的最低有效位指 D0。
MSB 和 LSB
芒果 520 已于 2022 年 03 月 25 日 15:14:10 修改
1、LSB (Least Significant Bit) – 最低有效位
LSB 代表二进制中最小的单位,可用于指示数字的微小变化。即 LSB 是一个二进制数字中的第 0 位(即最低位),权值为 2 0 2^0 20,可用于检测数的奇偶性。
2、MSB (Most Significant Bit) – 最高有效位
MSB 代表一个 n n n 位二进制数字中的 n − 1 n - 1 n−1 位,具有最高的权值 2 n − 1 2^{n - 1} 2n−1。对于有符号的二进制数,负数采用反码或补码形式,此时 MSB 用于表示符号,MSB 为 1 表示负数,0 表示正数。
需注意,以上两个概念中 “二进制” 是关键。最高有效位与最低有效位可通过 “对整个数值影响最大的位和最小的位” 来区分,例如十进制数字 10001,第一个 “1” 代表万位的单位数值,第二个 “1” 代表个位的单位数值。显然第一个 “1” 对整个十进制数的整体数值影响最大,类似于最高有效位;同理,第二个 “1” 对整个十进制数的整体数值影响最小,类似于最低有效位。
LSB 与 MSB 举例
假设一个一字节的数 0 x 9 A 0x9A 0x9A 转换成二进制为 “1001 1010”,那么 LSB 与 MSB 的分布如下:
通常,在一个芯片的管脚中,对于一个多比特的信号,如 32 根的地址线,从低开始按 0 到 31 编号。MSB 是 31,LSB 是 0。若标记为:ADDR [31:0] 就是 MSB first 的方式,若标记为 ADDR [0:31] 就是 LSB first 的方式。LSB 和 MSB 是以机器码为单位进行排序。
那么 CPU 存储一个字节的数据时,其字节内的 8 个比特之间的顺序是否也存在 big endian 和 little endian 之分,即是否存在比特序的不同?
实际上,比特序是存在的。
- MSB LSB:起始地址为最高位, 最后地址为最低位(大端)。
- LSB MSB:起始地址为最低位,最后地址为最高位(小端)。
以下以数字 0xB4
(10110100)为例用图加以说明:
低地址 ----------------------------------------------> 高地址
Big Endian
msb lsb
---------------------------------------------->
±±±±±±±±±±±±±±±±±±±±+
| 1 | 0 | 1 | 1 | 0 | 1 | 0 | 0 |
±±±±±±±±±±±±±±±±±±±±+
Little Endian
lsb msb
---------------------------------------------->
±±±±±±±±±±±±±±±±±±±±+
| 0 | 0 | 1 | 0 | 1 | 1 | 0 | 1 |
±±±±±±±±±±±±±±±±±±±±+
低地址 ----------------------------------------------> 高地址
实际上,由于 CPU 存储数据操作的最小单位是一个字节,其内部的比特序对于程序来说是不可见的,如同一个黑盒子。也就是说,给定一个指向 0 x B 4 0xB4 0xB4 这个数的指针,对于 big endian 方式的 CPU 来说,它从左往右依次读取这个数的 8 个比特;而对于 little endian 方式的 CPU 来说,则从右往左依次读取这个数的 8 个比特。而程序通过该指针访问后得到的数始终是 0 x B 4 0xB4 0xB4,字节内部的比特序对于程序来说是不可见的,这一点与单机上的字节序情况相同。
在网络传输中,是否会出现问题?是否需要通过函数转换比特序呢?
假设 little endian 方式的 CPU 要向 big endian 方式 CPU 传输一个字节的数据,在传输之前,little endian 方式的 CPU 会在本地读出这个 8 比特的数,然后按照网络字节序的顺序来传输这 8 个比特,这样接收端不会出现任何问题。而如果要传输一个 32 比特的数,由于这个数在 little endian 方式下存储时占 4 个字节,且网络传输是以字节为单位进行的,little endian 方式的 CPU 读出第一个字节后发送,实际上这个字节是原数的 LSB,到了接收方却变成了 MSB,从而导致数据混乱。
大端、小端、字节序、MSB、LSB、MSBs、LSBs
物联网老王 已于 2023 年 04 月 24 日 22:36:43 修改
5 分钟完全理解上述嵌入式、物联网开发中相关的几个概念。
MSB、LSB
以字面值数字 9 为例,其二进制是 1001。
- 若其 MSB 发生错误,即最高位的 1 变为 0,则整个数字变为 1,误差为 8。
- 若其 LSB 发生错误,即最低位的 1 变为 0,则整个数字变为 8,误差为 1。
涉及 bit 流的概念
- MSB(Most Significant Bit):最高有效位,是二进制中代表最高值的比特位,该位对数值的影响最大。
- LSB(Least Significant Bit):最低有效位,是二进制中代表最低值的比特位。
MSBs、LSBs
一个 8bit 的数据 10001111 中有两种 7bit 的数据:
- 7bit MSBs:这种写法通常指高 7bit,即 1000111。
- 7bit LSBs:这种写法通常指低 7bit,即 0001111。
涉及 byte 流的概念
- MSB(Most Significant Byte):指多字节序列中具有最高权重的字节。
- LSB(Least Significant Byte):指多字节序列中具有最小权重的字节。
明确 MSB、LSB 代表的具体含义
在实际应用中,需要明确区分 MSB(Most Significant Bit)与 MSB(Most Significant Byte)、LSB(Least Significant Bit)与 LSB(Least Significant Byte)。具体的区分方式取决于使用场景:
- 当涉及与 bit 流相关的概念时,例如在数据传输领域,标准的串口传输方式是低位先行,芯片通过 TX 引脚发送数据时,依次发送位 0、位 1、…… 位 7 ,此时 MSB 表示 Most Significant Bit(最高有效位),LSB 表示 Least Significant Bit(最低有效位)。
- 当涉及与 byte 流相关的概念时,例如在 32 位机器上一个整型数据在内存中的存储顺序,此时 MSB 表示 Most Significant Byte(最高有效字节),LSB 表示 Least Significant Byte(最低有效字节)。
什么是字节序
字节序是指占用多个字节的数据在嵌入式设备的内存中或在网络通信链路中的字节排列顺序。以字面值 0x12345678 为例,该数据由 4 个字节组成,按照字面值的 低位 -> 高位 的顺序,这四个字节分别是 0x78、0x56、0x34、0x12。在内存存储和网络传输中,这四个字节的排列顺序可能有以下两种情况:
- 第一种情况:字节顺序为 0x12、0x34、0x56、0x78,这种排列方式被称为大端字节序(Big-Endian)。
- 第二种情况:字节顺序为 0x78、0x56、0x34、0x12,这种排列方式被称为小端字节序(Little-Endian)。
大端序(Big-Endian)和小端序(Little-Endian)的具体定义如下:
- 大端序(Big-Endian):将字面值的低位字节存放在内存的高位地址;在网络传输中,发送端先发送高字节,接收端将接收到的第一个字节当作高位字节处理。
- 小端序(Little-Endian):将字面值的低位字节存放在内存的低位地址;在网络传输中,先传输低字节。
可以通过以下图示来直观地表示两种字节序:
为什么有字节序
字节序的存在与计算机内存单元的特性以及网络传输的需求有关:
- 在计算机存储方面,小端字节序通常具有较高的加载运行效率,因此一些计算机系统更倾向于采用小端序。
- 在网络传输方面,为了使接收端能够先接收到对数据影响最重要的部分,通常采用大端字节序作为网络字节序,即先传输高位字节。
编写程序确认当前设备的大小端字节序
在嵌入式面试中,常出现编写测试程序来判断当前设备字节序的问题。以下是一个使用 C 语言编写的示例程序:
#include <stdio.h>
#include <stdint.h>
bool check_endian()
{
union test {
uint8_t u8;
int i32;
} test;
test.i32 = 1;
return (test.u8 == 0);
}
int main()
{
if (check_endian() == true)
printf("big\n");
else
printf("little\n");
return 0;
}
总结
-
MSB 可以指 Most Significant Bit(最高有效位)或 Most Significant Byte(最高有效字节),LSB 可以指 Least Significant Bit(最低有效位)或 Least Significant Byte(最低有效字节)。它们的具体含义需要根据上下文来确定。
-
MSBs 通常指的是最高有效位的若干个比特位,LSBs 通常指的是最低有效位的若干个比特位。数量取决于具体应用和协议。
-
字节序是指多字节数据在内存或网络传输中的字节排列顺序,分为大端序和小端序。网络字节序通常采用大端字节序。
解析 MSB 与 LSB :从基础概念到应用场景
一、核心概念:二进制中的关键位
-
MSB (最高有效位)
二进制数中权重最高的位,通常是最左侧的位。举例来说,8 位二进制数10011010
的 MSB 是第 7 位的1
。在无符号数中,MSB 决定数值的主要大小;在有符号数中,MSB 常作为符号位(0 表示正,1 表示负)。 -
LSB (最低有效位)
二进制数中权重最低的位,位于最右侧。例如,数值10011010
的 LSB 是第 0 位的0
。LSB 代表数值变化的最小单位,常用于判断奇偶性或做位级操作。
二、数据传输模式:MSBFIRST 与 LSBFIRST
在串行数据传输中(如移位寄存器或 Arduino 的 shiftOut
函数),需明确传输顺序:
-
MSBFIRST(先传最高有效位)
例如向 74HC595 寄存器写入01001010
(MSBFIRST),最高位0
先被传送,最终 Q7 输出最高位,Q0 输出最低位,数据顺序保持不变。 -
LSBFIRST(先传最低有效位)
同样写入01001010
(LSBFIRST)时,最低位0
先被传送,最终寄存器中数据的位序与 MSBFIRST 完全相反。
三、扩展概念:字节序与比特序
1. 字节序(Endianness)
字节序描述多字节数据的存储或传输顺序,包括:
-
大端序(Big-Endian)
高位字节存放在前面(低地址),如0x1234
存储为12 34
。典型应用为网络协议(即网络字节序)。 -
小端序(Little-Endian)
低位字节存放在前面,如0x1234
存储为34 12
,多数 x86 架构采用此序。注意:MSB 和 LSB 的概念与字节序密切相关。大端序中 MSB 对应最高字节,LSB 对应最低字节。
2. 比特序(Bit Order)
比特序描述单字节内比特的排列顺序:
-
大端比特序(MSB 左)
比特从左至右依次为 MSB 到 LSB。例如10110100
中,最左边比特为 MSB。 -
小端比特序(LSB 左)
比特从左至右依次为 LSB 到 MSB。实际应用中,CPU 内部比特顺序通常透明,重点在跨平台或跨设备串行传输时需统一字节序和比特序。
四、应用场景与实践
-
嵌入式开发
移位寄存器、SPI、I2C 等通信协议中必须明确 MSB/LSB 的传输顺序,比如 Arduino 的shiftOut
函数,就有 MSBFIRST 和 LSBFIRST 两种参数选项。 -
网络通信
TCP/IP 协议采用大端字节序,故主机与网络间需通过htonl
(Host TO Network Long),ntohl
(Network TO Host Long)等函数进行字节序转换。 -
数据存储
图像、音频等多媒体数据处理时,高低位处理不同,会导致解码错误,需确保字节序和位序一致。
五、关键差异与实践注意事项
维度 | MSB | LSB |
---|---|---|
位置 | 二进制数左侧(高位) | 二进制数右侧(低位) |
传输顺序 | MSBFIRST(先传高位) | LSBFIRST(先传低位) |
数值影响 | 位变化引起数值变化较大(如 1000 → 0000 ) | 位变化引起数值变化较小(如 0001 → 0000 ) |
实践注意事项
- 明确具体场景,传输单字节时关注比特序,多字节数据时必须确认字节序。
- 通信协议双方需在文档中明确 MSB/LSB 传输顺序及字节序参数,例如注明
bitOrder = MSBFIRST
。 - 使用逻辑分析仪等调试工具进行波形抓取,确保传输符合预期规范。
附加说明
-
多重含义
-
MSB 可指 Most Significant Bit(最高有效位)或 Most Significant Byte(最高有效字节)。
MSBs 指最高有效位的多个比特。 -
LSB 可指 Least Significant Bit(最低有效位)或 Least Significant Byte(最低有效字节)。
具体含义应结合上下文判断。
LSBs 指最低有效位的多个比特。
-
-
字节序定义
字节序指多字节数据在内存或网络上的字节排列顺序,主要有大端序和小端序两种。网络字节序采用大端序。
via:
-
Understanding MSBFIRST (Most Significant Bit) and LSBFIRST (Least Significant Bit) - Software Particles
https://softwareparticles.com/understanding-msbfirst-most-significant-bit-and-lsbfirst-least-significant-bit/ -
LSB 最低有效位和 MSB 最高有效位 - 优快云 博客 聚优致成 于 2016-04-18 09:55:29 发布
https://blog.youkuaiyun.com/qq_29350001/article/details/51177404-
MSB 与 LSB - Shuai Feng - 博客园 posted @ 2009-12-23 01:00 Shuai Feng
https://www.cnblogs.com/shuaifeng/archive/2009/12/23/1630195.html -
清晰讲解 LSB、MSB 和大小端模式及网络字节序 - 翎野君 - 博客园
https://www.cnblogs.com/lingyejun/p/8312838.html
-
-
MSB 和 LSB,建议先看下面(其实就是大小端的问题)_msb lsb cam bus-优快云 博客 我是一只老鸟 于 2016-10-20 17:29:33 发布
https://blog.youkuaiyun.com/u010893262/article/details/52875068 -
MSB 和 LSB_msb lsb-优快云 博客 芒果 520 已于 2022-03-25 15:14:10 修改
https://blog.youkuaiyun.com/lx123010/article/details/103657114 -
一文读懂大端、小端、字节序、MSB、LSB、MSBs、LSBs_msb和lsb是什么意思-优快云博客 物联网老王 已于 2023-04-24 22:36:43 修改
https://blog.youkuaiyun.com/wangyx1234/article/details/130352079