Geschrieben von eulerscheZahl am 01.12.2014 um 17:33:
Es gibt ein allgemeingültiges Verfahren zum Unwandlung in eine andere Basis:
solange die Zahl > 0 ist:
* Füge Zahl modulo Basis vorne an die Zahl an
* Teile die Zahl durch die Basis (der Teil nach dem Komma wird abgeschnitten)
Beispiel: Umwandlung von 17 in Basis 3:
| code: |
1:
2:
3:
|
17 / 3 = 5 R 2
5 / 3 = 1 R 2
1 / 3 = 0 R 1 |
|
der Rest (Ergebnis von modulo) ergibt von unten nach oben gelesen 122.
1*3^2 + 2*3^1 + 2*3^0 = 9 + 2*3 + 2*1 = 17, die Rechnung geht also auf.
Ob du das jetzt rekursiv oder interativ definierst, sei dir überlassen (wenn nicht Rekursion verlangt wird). Von dual und oktal würde ich absehen, da es ja auch unabhängig von der Basis machbar ist, also warum für jede Basis eine eigene Funktion schreiben.
Wenn du damit nicht weiterkommst, einfach melden.