Ich lese Bytes aus der Datei. Für dieses Beispiel lese ich zwei Bytes (dargestellt in Hexa)Putting zwei Bytes zusammen
94
und 73
. Wie kann ich diese beiden Bytes zusammensetzen, damit sie wie folgt aussehen:
9470
?
Ich kann 73 >> 4
verwenden, um 70
aus 73
zu machen Aber wie kann ich sie "zusammensetzen"?
Ich versuchte (94 << 8) & (73 >> 4)
verwenden, aber es gibt immer 0 zurück
ich mit Bytes wie diese über die Arbeit nichts gefunden haben. (Basicly Eineinhalb Byte in diesem Beispiel zu lesen), Lesen 2 Bytes auf einmal
Codebeispiel
uint64_t bytes;
output.read((char *)&bytes, 2); // read 2 bytes
uint64_t tmp = (cutIt << (64 - 8)) >> (64 - 8) ;
uint64_t tmp_two = ((cutIt >> 8) & 11110000) >> 4;
uint64_t tmp_three = (tmp << 8) & tmp_two ;
können Sie den Code zeigen .... es könnte verschiedene Möglichkeiten geben .. – tod
vielleicht wollten Sie '(94 << 8) | 73 'was bedeutet, erste Byte um 8 Bits zu verschieben und BITWISE OR mit 73 (zweites Byte) – johngull
dies Ausgänge 5e49, nicht gewünschte Ergebnis – user3706129