Hallo an alle, ich habe folgendes Problem: Und zwar müsste ich in C ein Programm schreiben. Ich empfange über TCP/IP einen String (zb. 0x000F). Diesen String möchte ich in einen "Binär"-String umwandeln: "0x000F" = "0000000000001111" Wie kann ich es hin bekommen das das "F" in --> "1111" umgewandelt wird? Danke für eure Antworten!
Felix schrieb: > Wie kann ich es hin bekommen das das "F" in --> "1111" umgewandelt wird? Schau dir mal den Befehl ltoa oder itoa an. Da kann man den Radix mit angeben. http://www.kev.pulo.com.au/pp/RESOURCES/cplusplus/ref/cstdlib/ltoa.html
mit den Funktionen
1 | atoi
|
oder mit
1 | strtol
|
Letzere funktion (sollte) bevorzugt werden.
Wenn du auf die führenden 0-en stehst, dann gibts 3 Möglichkeiten: * du kannst das "händisch" machen. Eine Tabelle mit 16 Strings. Aus der Zahl jeweils eine Hex-Ziffer abspalten und die dann als Index in diese Tabelle nehmen. Die Einzelstrings mit strcat/strcpy zusammensetzen * durchdividieren (durch 2), so wie man eben eine Zahlenausgabe macht und die einzelnen Ziffern in Characterform gleich an der richtigen Stelle im String einsetzen. * ltoa und dann hinten nach an den erhaltenen String entsprechend viele führende 0-en anfügen um wieder die gewünschte Bitzahl zu erreichen.
Ich könnte auch eine 1 Byte grosse Hexadezimalzahl nehmen und in die 8 Bits aufteilen und dann weiter verwenden. Wie würde ich das machen? Danke sehr!
>Wie würde ich das machen?
Wie Du das machen würdest weis ich nicht, aber wie ichs machen würde.
Komm, etwas nachdenken hat noch niemanden geschadet.
Hausaufgaben? Karl Heinz hats doch praktisch vor vorgekaut. Felix schrieb: > Ich könnte auch eine 1 Byte grosse Hexadezimalzahl nehmen und in die 8 > Bits aufteilen und dann weiter verwenden. > Wie würde ich das machen? > Danke sehr! ???? Liest du auch mal durch was du schreibst?
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.