이 함수는 일부 입력에서는 올바르게 작동하지 않으므로 실수가 무엇입니까? 여기QBitArray를 QByteArray로 변환
모든 프로젝트 코드 : link
추신 : 난 내가는 비트가 왼쪽으로 이동해야한다 어쩌면 생각 제로
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;
}
먼저 무엇을 얻고 싶습니까? 샘플 입출력을 제공 할 수 있습니까? 그러면 코드가 거의 정확 해 보입니다. 유일한 조언 : 다음과 같이 변수를 사용하기 전에 변수를 초기화하는 것을 잊지 마십시오 :'bytes.fill (0);' – Lol4t0