gpt4 book ai didi

c++ - 将 QBitArray 转换为 QByteArray

转载 作者:行者123 更新时间:2023-11-30 04:30:22 26 4
gpt4 key购买 nike

此功能对于某些输入无法正常工作,那么错误是什么?

此处所有项目代码:link

ps: 我正在使用“bits.size()%8”等于零的输入

QByteArray bitsToBytes(QBitArray bits) {
QByteArray bytes;
bytes.resize(bits.count()/8);

// Convert from QBitArray to QByteArray
for(int b=0; b<bits.count(); ++b)
bytes[b/8] = ( bytes.at(b/8) | ((bits[b]?1:0)<<(b%8)));

return bytes;
}

最佳答案

Topro算法整体上应该是正确的。但我的音乐会是测试 bits[b]?1:0

默认情况下,operator[] ( int i ) 返回“索引位置 i 处的位作为可修改的引用”,而 operator[] ( int i ) const 返回一个 bool 值。如果选择了第一个定义,您将测试引用是否为真。

使用 bits.testBit(b) 尝试 Topro 算法。

关于c++ - 将 QBitArray 转换为 QByteArray,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8740783/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com