对二进制数据处理。
时间:10-02
整理:3721RD
点击:
目前有个关于二进制数据处理的问题:
数据是双字节,也就是16bit,最高1位为符号位,实际上数据表示的只有13位,也就是高三位不用来做数据表示,
比如1110 0011 1001 1111,高三位111不是数据位。
有没有办法只通过位运算和逻辑运算的方式来去掉高三位数据呢?请教。
数据是双字节,也就是16bit,最高1位为符号位,实际上数据表示的只有13位,也就是高三位不用来做数据表示,
比如1110 0011 1001 1111,高三位111不是数据位。
有没有办法只通过位运算和逻辑运算的方式来去掉高三位数据呢?请教。
如果是带符号的16位数据你就用I16类型来表示就行了,如果要去掉高三位就把该数据跟0x1fff进行与操作就可以了。
不懂你说的去掉是什么意思?怎么去掉把他变成0算是去掉吗
你说的对,另外,如果说计算符号位的话,采用逻辑以为来判断高位是0或者1.有没有效率更高的方法。
你用I16数值控件做显示控件就可以看出数据是正负了,我不明白你想表达什么
嗯,我想知道,转换和逻辑以为哪个效率更高,应为要处理的数据量非常大。我还是选择逻辑移位