Python Dezimal und Hexadezimal berechnen?
Guten Tag,
Ich bin seit geraumer Zeit an einer Aufgabe dran, aber ich komme leider nicht weiter. Ziel ist es, wie schon im Titel erwähnt, Dezimal und Hexadezimalzahlen zu berechnen, die als Input aus einer txt file kommen. Wir dürfen aber nicht die Built-in-functions benutzen, sondern müssen eigene schreiben, die einen gewissen Algorithmus benutzen, um diese zu berechnen.
Für Hexadezimalzahlen in Dezimal ist es folgender Algorithmus: d1*16n−1 + d2*16n−2 + ... + dn*160, 0 <= di< 16
Und andersrum:
314156 // 16 = 19634 balance 12 (C)
19634 // 16 = 1227 balance 2 (2)
1227 // 16 = 76 balance 11 (B)
76 // 16 = 4 balance 12 (C)
4 // 16 = 0 balance 4 (4)
Hence, 31415610= 0x4CB2C
Leider bin ich ziemlich verloren und weiß nicht wie ich die beiden Algorithmen in zwei Funktionen verpacken soll um diese zu berechnen. Hoffe hier kann mir jemand helfen.
Vielen Dank im Vorraus.
1 Antwort
Du musst eine Schleife aufsetzen deren Rest immer kleiner wird und nur solange läuft wie der Rest noch größer als 16 ist (DEZ ->Hex Wandlung)
Dürft ihr keine "Mathe-Bibliothek" verwenden. So etwas gibt es natürlich schon von anderen gelöst und zur Verfügung gestellt.
Was ist mit diesem "Strukt Pack"
Umrechnen einer Zahl in Hexformat - Das deutsche Python-Forum (python-forum.de)
ABER:
Die Umrechnung ist wirklich nicht schwierig selbst zu programmieren und ne schöne Übung.
Denn du kannst dann gleich HEX->BIN; HEX->DEZ; DEZ->HEX; DEZ->BIN analog erledigen.
Doch, Mathe-Bibliotheken dürfen wir verwenden. Die einzige Einschränkung bezieht sich auf die eingebauten Funktionen. Echt? Gibt es da schon Beispiele? Als ich dazu recherchiert habe, habe ich leider nichts gefunden.