一个QByteArray中都是char类型的,取第5和第6位出来,分别为0x11和0x12,将这两位合并转换成数字类型
时间: 2023-11-27 14:50:58 浏览: 65
字符串转数字
可以通过位运算将两个char类型的数合并成一个数字类型。具体实现如下:
```cpp
QByteArray byteArray = ...; // 假设已经有一个QByteArray对象
char ch1 = byteArray.at(4); // 取第5位
char ch2 = byteArray.at(5); // 取第6位
// 将两个char类型的数合并成一个16位的数字类型
quint16 value = (static_cast<quint16>(ch1) << 8) | static_cast<quint16>(ch2);
qDebug() << value; // 输出合并后的数字类型
```
在上面的代码中,我们先将第5位和第6位分别取出来,然后将它们转换成quint16类型。接着,我们使用位运算符`<<`将ch1左移8位,然后使用位运算符`|`将ch2合并到ch1的右侧。最后得到的16位数字类型就是合并后的结果,可以输出或者做其他操作。
阅读全文