
Zitat von
arbu man:
Guck dir das mal an
Vieleich nützt es dir was is auch en ZahlenWandler von Dezimal auf alles
Hier kann man sich auch eine Lösung anschauen, die
von allem nach allem umwandelt:
http://www.delphipraxis.net/internal...=289485#289485
(Weiter oben wird auch nochmal die Umwandlung in belibige Zahlensysteme erklärt)
In der Funktion x2y wandele ich erst die Quellbais nach
dec (Basis 10) und danach in die Zielbasis.
Meine dec2alles macht fast das selbe wie Deine.
Du macht ein
Result := Zifferberechnung + Result;
ich mache ein
Result := Result + Zifferberechnung
Deine Methode ist etwas effizienter, da Du nicht erst die 1. Ziffer bestimmen musst und auch auf das Potenzieren verzichten kannst.
Aber viele Wegen führen nach Rom
Delphi-Quellcode:
// Umrechnen dec nach BaseY
Result := '
';
// erste Ziffer bestimmen
i := 0;
while Base10Zahl >= IntPower(BaseY, i)
do
begin
inc(i);
end;
// die eigentliche Umwandlung
while i>0
do
begin
Result := Result + Ziffern[Base10Zahl
div Round(IntPower(BaseY, i-1))+1];
Base10zahl := Base10Zahl
mod Round(IntPower(BaseY, i-1));
dec(i);
end;