In ASCII Darstellung umwandeln
-
Hallo,
kann mir das jemand bitte erklären?
• Welche Umwandlung muss man durchführen, um die interne binäre Darstellung der unterschiedlichen Zahlenformate in die ASCII-Darstellung umzuwandeln? Beispiel--> 0x0A 0 0 0 0 1 0 1 0 1010 < 10 --> Nein 0 0 0 0 1 0 1 0 + 0 1 0 0 0 0 0 0 ------------------------ 0 1 0 0 1 0 1 0 - 9 -9 umwandlen 0 0 0 0 1 0 0 1 1 1 1 1 0 1 1 0 + 0 0 0 0 0 0 0 1 --------------------- 1 1 1 1 0 1 1 1 also 0 1 0 0 1 0 1 0 + 1 1 1 1 0 1 1 1 -------------------- 0 1 0 0 |0 0 0 1 4 1 A
Wieso schau ich ob es kleiner "10" ist und wieso ziehe ich 9 ab?
-
Häh???
-
Was ist das denn für eine komische Aufgabenstellung? Bei ASCII gilt 'A' == 65 == 0x41. Man kann so keine Zahl in ein ASCII Zeichen umwandeln.
Was man aber kann, und was dort auch gemacht wird, ist die binäre Darstellung in eine Hexadezimale umwandeln, damit man hinterher auf der Wikipedia Tabelle nachgucken kann, welche Zahl das jetzt ist.Die Aufgabe ist also eigentlich nichts anderes also die Umwandlung von binär zu hexadezimal, und dazu solltest du genug Sachen finden im Netz.
-
die oben angegebene Lösung kommt nicht von mir.
Ich verstehe Sie ja auch nicht ganz.ich finde nur lösungen wo erst in dezimal umgerechnet wird und dann in hex.
Das konnte ich ja schon früher.
Aber wie mache ich das direkt?
-
http://www.arndt-bruenner.de/mathe/scripts/Zahlensysteme.htm
Edit: LOL, die erklären das ja auch nicht direkt. Na ja, eigentlich ist bin->hex sogar fast einfacher als der Rest, aber ich habe jetzt keine Lust sehr viel dazu zu schreiben. Aber das System ändert sich eigentlich nicht, du kannst dir das schon herleiten.
-
Wenn die Zahl zwischen 0 und 9 liegt, soll sie auf '0' bis '9' (ASCII-Wert 48 bis 57) abgebildet werden. Wenn sie zwischen 10 und 15 liegt, soll sie auf 'A' bis 'F' (ASCII-Wert 65 bis 70) abgebildet werden. Dafür ist der Test am Anfang. Deine Zahl ist 10, sie soll also auf 'A', d.h. 65 abgebildet werden. Die einfachste Möglichkeit wäre, einfach 55 zu addieren, aber deine Musterlösung addiert zuerst 64 (einfach ein einzelnes Bit setzen) und subtrahiert anschließend wieder 9. Dazu wird zuerst die Zweierkomplementdarstellung von -9 ausgerechnet und diese dann zu 10 + 64 addiert.