完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
目前有个关于二进制数据处理的问题:
数据是双字节,也就是16bit,最高1位为符号位,实际上数据表示的只有13位,也就是高三位不用来做数据表示, 比如1110 0011 1001 1111,高三位111不是数据位。 有没有办法只通过位运算和逻辑运算的方式来去掉高三位数据呢?请教。 |
|
相关推荐
5个回答
|
|
如果是带符号的16位数据你就用I16类型来表示就行了,如果要去掉高三位就把该数据跟0x1fff进行与操作就可以了。
最佳答案
|
|
|
|
不懂你说的去掉是什么意思???怎么去掉把他变成0算是去掉吗
|
|
|
|
你说的对,另外,如果说计算符号位的话,采用逻辑以为来判断高位是0或者1.有没有效率更高的方法。 |
|
|
|
你用I16数值控件做显示控件就可以看出数据是正负了,我不明白你想表达什么 |
|
|
|
嗯,我想知道,转换和逻辑以为哪个效率更高,应为要处理的数据量非常大。我还是选择逻辑移位 |
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
Labview 信号处理 瞬态测量 连线出现错误提示,请教各位前辈!麻烦请各位帮忙看一下?
240 浏览 0 评论
303 浏览 1 评论
663 浏览 6 评论
LabVIEW如何识别接线端是否有数据输入,不能通过判断默认值的方式
1196 浏览 2 评论
打开labview时很慢,在任务管理器里面看到,内存能有1000多M,重装也没用,各位大佬这是什么问题引起的,怎么解决
2160 浏览 3 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-9-30 07:39 , Processed in 0.532425 second(s), Total 52, Slave 45 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号