Ich versuche, Daten von einem GPS-Empfänger zu extrahieren. Die Art und Weise, wie sie ihre Informationen übertragen, wird in der folgenden Abbildung gezeigt.Kombinieren von zwei Teilen eines Wortes mit einem Teil eines anderen Wortes und Verwenden eines Skalierungsfaktors
Ich versuche Roota zu bekommen. Ich habe Wort 8 und Wort 9 in separaten Bitsets. Wie kombiniere ich die relevanten Bits zu einem Bitset?
Ich muss auch diese Skalierungsfaktorinformationen verwenden, um eine doppelte Präzisionszahl zu erhalten. Die Informationen zum Skalierungsfaktor werden unten angezeigt.
Ich habe
versuchtstd::bitset<32> word8_binary; // is filled with word 8 data.
std::bitset<32> word9_binary; // is filled with word 9 data.
std::bitset<32> roota_binary;
for (int i=13; i>5; i--)
{
roota_binary = word8_binary[i] << 32 | word9_binary[i];
}
Aber das gibt mir nicht das Ergebnis, das ich will. Ich weiß auch nicht, wie ich den Skalierungsfaktor verklagen soll.
Ihre Hilfe würde sehr geschätzt werden.
Wie werden diese Daten empfangen? Jedes * "Wort" * ist nur 30 Bits! Der Nachrichtenrahmen von 300 Bits wäre für den zweiten Rahmen nicht Byte-ausgerichtet. – sawdust