Gibt es eine Möglichkeit, eine std::bitset
aus einer hexadezimalen std::string
oder QString
und umgekehrt, ohne eine binäre Verschiebeoperationen zu konstruieren? Ich weiß, wie man das macht, aber ich frage mich, ob es möglich ist, dies mit C++ - Streams oder etwas Ähnlichem zu tun.erstellen std :: bitset oder QBitArray von einer std :: string oder QString enthält hexadezimale Zahlen
hier ist mein Code so weit (versuchen, kommt unter Beschuss von Moderatoren zu vermeiden):
QString data("aabbccddeeff");
QByteArray temp = QByteArray::fromHex(data.simplified().toLatin1());
QBitArray bits(temp.count()*8);
for(int i=0; i<temp.count(); ++i) {
for(int b=0; b<8;b++) {
bits.setBit(i*8+b, temp.at(i)&(1<<(7-b)));
}
}
Was ist die maximale Länge der resultierenden Bits? Ist es länger als die breiteste Ganzzahl auf Ihrer Plattform? –
@JohnZwinck es ist 128 Bits oder 16 Bytes max. – Barracuda