完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
目前有个关于二进制数据处理的问题:
数据是双字节,也就是16bit,最高1位为符号位,实际上数据表示的只有13位,也就是高三位不用来做数据表示, 比如1110 0011 1001 1111,高三位111不是数据位。 有没有办法只通过位运算和逻辑运算的方式来去掉高三位数据呢?请教。 |
|
相关推荐
5个回答
|
|
如果是带符号的16位数据你就用I16类型来表示就行了,如果要去掉高三位就把该数据跟0x1fff进行与操作就可以了。
最佳答案
|
|
|
|
不懂你说的去掉是什么意思???怎么去掉把他变成0算是去掉吗
|
|
|
|
你说的对,另外,如果说计算符号位的话,采用逻辑以为来判断高位是0或者1.有没有效率更高的方法。 |
|
|
|
你用I16数值控件做显示控件就可以看出数据是正负了,我不明白你想表达什么 |
|
|
|
嗯,我想知道,转换和逻辑以为哪个效率更高,应为要处理的数据量非常大。我还是选择逻辑移位 |
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
用udl里的字符串信息在局域网内其他电脑连接sql数据库为什么为出现连接失败拒绝访问?
1796 浏览 2 评论
为什么同一个队列引用的全局变量,运行在两个子vi中发现队列数据丢失了
1407 浏览 0 评论
1610 浏览 0 评论
关于labview2024版本的lvanlys.dll出错的问题
3477 浏览 3 评论
1527 浏览 2 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-25 11:08 , Processed in 0.719314 second(s), Total 84, Slave 66 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号