当前位置: 代码迷 >> QT开发 >> 求40bit数据分割为四个10bit数据方法! 100分重奖!
  详细解决方案

求40bit数据分割为四个10bit数据方法! 100分重奖!

热度:65   发布时间:2016-04-25 03:35:49.0
求40bit数据分割为4个10bit数据方法! 100分重奖!!
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,就行

不过可能要考虑到数据的大小端问题
  相关解决方案