Wie drucke ich Bytes als hexadezimal?
Ich weiß in C# können Sie die Verwendung von String.Format-Methode. Aber wie machst du das in C++? Gibt es eine Funktion, die mir erlaubt, konvertiert ein byte in einen Hex?? Nur brauchen, um zu konvertieren eine 8 byte lange Daten in Hex, wie mache ich das?
InformationsquelleAutor der Frage Danny | 2012-05-15
Du musst angemeldet sein, um einen Kommentar abzugeben.
Gut können Sie konvertieren ein byte (unsigned char) in einer Zeit, in der ein array wie so
InformationsquelleAutor der Antwort bentech
Wenn Sie möchten, verwenden Sie C++ - streams anstelle von C-Funktionen, können Sie Folgendes tun:
Sehr einfach.
Ausgabe:
InformationsquelleAutor der Antwort Component 10
C:
C++:
InformationsquelleAutor der Antwort user1763487
Dies ist eine modifizierte version des Nibble in Hex-Methode
InformationsquelleAutor der Antwort Mohamed Saad
Drucken von beliebigen Strukturen in der modernen C++
Alle Antworten bisher nur sagen, wie es zu drucken eine Reihe von zahlen, aber wir können auch drucken Sie jede beliebige Struktur, da wir wissen, seine Größe. Das folgende Beispiel erstellt eine solche Struktur und durchläuft einen Zeiger durch seine bytes, Sie zu drucken, um die Ausgabe:
Und hier ist die Ausgabe:
Hinweis dieses Beispiel zeigt auch Speicher Ausrichtung arbeiten. Wir sehen
version
besetzen 2 bytes (05 00
), gefolgt vonmsgSize
mit 2 Byte (24 00
) und dann 4 Byte padding, danach kommtsomeId
(34 12 00 00 00 00 00 00
) undanotherId
(78 56 00 00 00 00 00 00
). DannisFoo
die belegt 1 byte (01
) undisBar
ein weiteres byte (01
), gefolgt von 6 bytes, padding, schließlich endend mit dem IEEE 754-standard für die Darstellung der Doppel-FeldfloatingPointValue
.Beachten Sie auch, dass alle Werte dargestellt werden, wie little endian (least significant Byte zuerst kommen), da dies kompiliert und laufen auf einer Intel-Plattform.
InformationsquelleAutor der Antwort Lucio Paiva
Ich weiß nicht, einen besseren Weg, als:
Können Sie beschleunigen, indem Sie mit einem Nibble in Hex-Methode
InformationsquelleAutor der Antwort Rick Murtagh