Vielen Dank im VorausC/C++ ASCII des Charakters zu HEX Byte-Array
Ich frage mich, wie in C/C++ ich etwas wie erreichen würde:
Convert das in ein BYTE-Array von:
Ergebnis in einem 0x10-Array anstelle von 0x20.
Prost
Vielen Dank im VorausC/C++ ASCII des Charakters zu HEX Byte-Array
Ich frage mich, wie in C/C++ ich etwas wie erreichen würde:
Convert das in ein BYTE-Array von:
Ergebnis in einem 0x10-Array anstelle von 0x20.
Prost
eine Hexadezimalzeichens
#define HEX2BIN(D) ((('0' <= D) && (D <= '9')) ? D-'0' : (('a' <= D) && (D <= 'f')) ? D-'a'+10 : (('A' <= D) && (D <= 'F')) ? D-'A'+10 : -1)
und legen Sie es hoch oder niedrig
#define NIBBLE2BYTE(HI,BYTE,NIBBLE) do { if (HI) { BYTE = ((BYTE & 0xf0) | NIBBLE<<4); HI = 0; } else { BYTE = ((BYTE & 0x0f) | NIBBLE); HI=1; } } while (0)
Encoding. Jetzt können Sie Ihre Eingabe und Ausgabe zunächst mit HI=1
durchlaufen. Test auf HEX2BIN(D) > 0
, um Eingabefehler zu erfassen!
Verwenden Sie niemals ein Makro, wenn es auf die gleiche Weise mit einer Funktion ausgeführt werden kann. – Olaf
Ich wollte nur das Konzept zeigen. Jeder, der seine ersten Lektionen in C-Programmierung gelernt hat, sollte in der Lage sein, diese Kodierung in fast allem zu machen, sei es eine Funktion, ein Makro, ein bisschen Assembler-Code oder nur eine einfache Schleife direkt in den Code geschrieben und Makros können sehr sein nützlich für so einfache Dinge. – ikrabbe
Sie unterrichten effektiv schlechten (und fehleranfälligen) Codierungsstil. Dies wird von Anfängern gelesen, die das für den normalen Weg nehmen. Sie können dies auch mit einer Funktion anzeigen. Nicht zu vergessen die Verwendung von Großbuchstaben wird üblicherweise für Makros und _enum-constants_ verwendet. – Olaf
Sie meinen, wie können Sie die Hex ASCII-Darstellungen als einfache Werte interpretieren? –
Yh ..........:> Ich sah mich eine Weile um, bevor ich fragte, konnte aber nichts finden. – Snazzy
Eigentlich ist der erste Dump, den Sie zeigen, ein Dump eines Hex-Codes und Sie wollen die Hexadezimalziffern in binäre Nibbles kodieren. Das ist im Grunde, was Ihr Algorithmus reduziert auf: Wie kodieren Sie eine hexadezimale Zahl in ein binäres Nibble und wo platzieren Sie die Nibble (hoch oder niedrig)? – ikrabbe