社区
C++ 语言
帖子详情
LSB 和MSB是什么意思?
yusongleon
2008-08-29 09:44:13
比如:Return the 16 LSB of L_var1.
这是什么意思?
...全文
18539
10
打赏
收藏
LSB 和MSB是什么意思?
比如:Return the 16 LSB of L_var1. 这是什么意思?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
10 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
cnhejia
2011-08-05
打赏
举报
回复
不错,说的很好
cyzmef
2011-01-05
打赏
举报
回复
不错!谢谢!
xialuoye
2010-09-06
打赏
举报
回复
2
MSB是Most Significant Bit的缩写,最高有效位。在二进制数中,MSB是最高加权位。与十进制数字中最左边的一位类似。通常,MSB位于二进制数的最左侧,LSB位于二进制数的最右侧。
LSB(Least Significant Bit),意为最低有效位;MSB(Most Significant Bit),意为最高有效位,若MSB=1,则表示数据为负值,若MSB=0,则表示数据为正。
当选择模数转换器(ADC)时,最低有效位(LSB)这一参数的含义是什么?有位工程师告诉我某某生产商的某款12位转换器只有7个可用位。也就是说,所谓12位的转换器实际上只有7位。他的结论是根据器件的失调误差和增益误差参数得出的,这两个参数的最大值如下: 失调误差 =±3LSB, 增益误差 =±5LSB, 乍一看,觉得他似乎是对的。从上面列出的参数可知最差的技术参数是增益误差(±5 LSB)。进行简单的数学运算,12位减去5位分辨率等于7位,对吗?果真如此的话,ADC生产商为何还要推出这样的器件呢?增益误差参数似乎表明只要购买成本更低的8位转换器就可以了,但看起来这又有点不对劲了。正如您所判断的,上面的说法是错误的。 让我们重新来看一下LSB的定义。考虑一个12位串行转换器,它会输出由1或0组成的12位数串。通常,转换器首先送出的是最高有效位(MSB)(即LSB + 11)。有些转换器也会先送出LSB。在下面的讨论中,我们假设先送出的是MSB,然后依次送出MSB-1 (即 LSB + 10)和MSB -2(即LSB + 9)并依次类推。转换器最终送出MSB -11(即LSB)作为位串的末位。 LSB这一术语有着特定的含义,它表示的是数字流中的最后一位,也表示组成满量程输入范围的最小单位。对于12位转换器来说,LSB的值相当于模拟信号满量程输入范围除以212 或 4,096的商。如果用真实的数字来表示的话,对于满量程输入范围为4.096V的情况,一个12位转换器对应的LSB大小为1mV。但是,将LSB定义为4096个可能编码中的一个编码对于我们的理解是有好处的。 让我们回到开头的技术指标,并将其转换到满量程输入范围为4.096V的12位转换器中: 失调误差 = ±3LSB =±3mV, 增益误差 =±5LSB = ±5mV, 这些技术参数表明转换器转换过程引入的误差最大仅为8mV(或 8个编码)。这绝不是说误差发生在转换器输出位流的LSB、LSB-1、LSB-2、LSB-3、LSB-4、LSB-5、LSB-6和 LSB-7 八个位上,而是表示误差最大是一个LSB的八倍(或8mV)。准确地说,转换器的传递函数可能造成在4,096个编码中丢失最多8个编码。丢失的只可能是最低端或最高端的编码。例如,误差为+8LSB ((+3LSB失调误差) + (+5LSB增益误差)) 的一个12位转换器可能输出的编码范围为0 至 4,088。丢失的编码为4088至4095。相对于满量程这一误差很小仅为其0.2%。与此相对,一个误差为-3LSB((-3LSB失调误差)(-5LSB增益误差))的12位转换器输出的编码范围为3至4,095。此时增益误差会造成精度下降,但不会使编码丢失。丢失的编码为0、1和2。这两个例子给出的都是最坏情况。在实际的转换器中,失调误差和增益误差很少会如此接近最大值。 在实际应用中,由于ADC失调或增益参数的改进而使性能提升的程度微不足道,甚至可以忽略。但是,对于那些将精度作为一项设计目标的设计人员来说,这种 假设太过绝对。利用固件设计可以很容易地实现数字校准算法。但更重要的是,电路的前端放大/信号调理部分通常会产生比转换器本身更大的误差。 通过上面的讨论可以对本文开头提到的错误结论有一个更为全面而清晰的认识。事实上,上述的12位转换器的精度约为11.997位。采用微处理器或单片机可以利用简单的校准算法消除这种失调和增益误差,这对设计人员来说无疑是个好消息。 最最高有效位(MSB) 指二进制中最高值的比特。在16比特的数字音频中,其第1个比特便对16bit的字的数值有最大的影响。例如,在十进制的15,389这一数字中,相当于万数那1行(1)的数字便对数值的影响最大。比较与之相反的“最低有效位”(LSB)。
Entropy-Go
2010-03-20
打赏
举报
回复
1
[Quote=引用 4 楼 tianyongtao 的回复:]
是不是应该为:
LSB8(0x12345678) = 0x678
MSB8(0x12345678) = 0x123
[/Quote]
4楼的说错了吧,
LSB8(0x12345678) = 0x78
MSB8(0x12345678) = 0x12
yjg_dm
2009-10-10
打赏
举报
回复
let me see!
wwqlssPNU
2009-09-06
打赏
举报
回复
DING DING DING
tianyongtao
2009-05-15
打赏
举报
回复
是不是应该为:
LSB8(0x12345678) = 0x678
MSB8(0x12345678) = 0x123
Joey_cc
2008-09-01
打赏
举报
回复
纠正:
LSB8(0x12345678) = 0x78
MSB8(0x12345678) = 0x12
yusongleon
2008-08-29
打赏
举报
回复
超级感谢!分全部给你!
Joey_cc
2008-08-29
打赏
举报
回复
LSB: Least Significant Bit,就是一个数的最低位。16 LSB就是最低的16位。比如0x12345678, 0x5678是最低的16位,LSB16(0x12345678)= 0x5678,LSB8(0x12345678)=0x8
MSB: Most Significant Bit. 最高位,同理. MSB8(0x12345678)=0x1
芯片手册中的
LSB
和
MSB
是
什么意思
?
在芯片手册中,
LSB
指最低有效位,代表二进制数中权重最小的位;
MSB
指最高有效位,代表权重最大的位。它们在数据表示、传输(字节序)和移位操作等方面有重要用途,如数据表示中权重不同,传输有大端和小端模式。
msb
lsb
什么意思
_CTF-Misc-
LSB
本文介绍了一种名为
LSB
(最低有效位)的CTF竞赛中Misc类题目的解决方法。通过使用stegsolve工具,对图片进行逐层分析,并结合红、蓝、绿三个颜色通道的信息提取,最终解析出藏匿于图片中的二维码并成功获取到flag。
一文读懂大端、小端、字节序、
MSB
、
LSB
、
MSB
s、
LSB
s
本文解释了在嵌入式和物联网开发中重要的概念,包括
MSB
(最高有效位)和
LSB
(最低有效位)在bit流和byte流中的作用,以及字节序(大端序和小端序)在网络传输和内存存储中的不同排列方式。字节序的不同可能导致数据解析的差异,而
MSB
和
LSB
则影响数据的精度。检查字节序的程序示例也提供了识别系统字节序的方法。
MSB
与
LSB
的含义
MSB
(Most Significant Bit)和
LSB
(Least Significant Bit)是二进制数中的术语,分别代表最高位和最低位。在数据通讯中,
MSB
用于判断数值正负,若为1则表示负数;
LSB
则用于校验奇偶性,值为1时表示偶数。此概念常应用于数据校验和处理。
C语言-
MSB
/
LSB
大小端序
本文围绕C语言中
MSB
/
LSB
大小端序展开。先介绍
MSB
和
LSB
概念,即二进制最高、最低有效位;说明了变量存储空间的高低地址字节。还讲述了用联合体测试电脑大小端序的方法,以及通信中大小端序的定义,最后提及4字节和2字节的大小端序转换。
C++ 语言
65,211
社区成员
250,515
社区内容
发帖
与我相关
我的任务
C++ 语言
C++ 语言相关问题讨论,技术干货分享,前沿动态等
复制链接
扫一扫
分享
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
请不要发布与C++技术无关的贴子
请不要发布与技术无关的招聘、广告的帖子
请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下
试试用AI创作助手写篇文章吧
+ 用AI写文章