问题描述
我试图理解以下两个 set 和 get 方法,但我被卡住了。有人可以解释一下吗? 我们可以等效地编写相同的方法更简洁的方式吗?
static void set(QByteArray &ba,uint byteNumber,uint value,uint pos,uint len)
{
unsigned int mask = (1 << len) - 1;
ba[byteNumber] = (ba[byteNumber] &~ (mask << pos)) | (value & mask) << pos;
}
static unsigned int get(uint value,uint start,uint len)
{
return (unsigned int) (value >> start) & ((1 << len) - 1);
}
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)