求40bit数据分割为四个10bit数据方法! 100分重奖!
求40bit数据分割为4个10bit数据方法! 100分重奖!!
如上,40位数据要分割为4个10位数据,求方法。谢谢!
------解决方案--------------------
quint64 data;//低40位存放数据
quint64 bitMask = 0xffffffffff;
quint64 tmpData = data & bitMask;
quint16 result[4];//存放4个10位数据的数组
result[0] = tmpData & 0x3ff;
result[1] = (tmpData >> 10) & 0x3ff;
result[2] = (tmpData >> 20) & 0x3ff;
result[3] = (tmpData >> 30) & 0x3ff;
------解决方案--------------------
基本上就是移位操作,然后再按位 &0x3ff,就行
不过可能要考虑到数据的大小端问题
1001000010 100100000 0100000001 0100000000
如上,40位数据要分割为4个10位数据,求方法。谢谢!
------解决方案--------------------
quint64 data;//低40位存放数据
quint64 bitMask = 0xffffffffff;
quint64 tmpData = data & bitMask;
quint16 result[4];//存放4个10位数据的数组
result[0] = tmpData & 0x3ff;
result[1] = (tmpData >> 10) & 0x3ff;
result[2] = (tmpData >> 20) & 0x3ff;
result[3] = (tmpData >> 30) & 0x3ff;
------解决方案--------------------
基本上就是移位操作,然后再按位 &0x3ff,就行
不过可能要考虑到数据的大小端问题