完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
目前有个关于二进制数据处理的问题:
数据是双字节,也就是16bit,最高1位为符号位,实际上数据表示的只有13位,也就是高三位不用来做数据表示, 比如1110 0011 1001 1111,高三位111不是数据位。 有没有办法只通过位运算和逻辑运算的方式来去掉高三位数据呢?请教。 |
|
相关推荐
5个回答
|
|
如果是带符号的16位数据你就用I16类型来表示就行了,如果要去掉高三位就把该数据跟0x1fff进行与操作就可以了。
最佳答案
|
|
|
|
不懂你说的去掉是什么意思???怎么去掉把他变成0算是去掉吗
|
|
|
|
你说的对,另外,如果说计算符号位的话,采用逻辑以为来判断高位是0或者1.有没有效率更高的方法。 |
|
|
|
你用I16数值控件做显示控件就可以看出数据是正负了,我不明白你想表达什么 |
|
|
|
嗯,我想知道,转换和逻辑以为哪个效率更高,应为要处理的数据量非常大。我还是选择逻辑移位 |
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
904 浏览 2 评论
NI Vision有个图片打不开其他图都能打开(用NI Vision Assistant也打开不了)
1301 浏览 1 评论
labview2015使用Excel报表程序打包生成后打开程序要选一个vi才能使用,否则软件就会报错,这是什么问题?
1868 浏览 2 评论
LabVIEW与单片机无法串口通信 提示串口打开错误 端口设置有问题吗?
1751 浏览 3 评论
2089 浏览 2 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-29 15:37 , Processed in 0.480876 second(s), Total 50, Slave 43 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号