Qt中的字节操作

问题描述

我试图理解以下两个 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 (将#修改为@)