
Zitat von
rawsoul:
Diese Funktion arbeitet vom Binärsystem bis zum System der Basis 36
//Edit: Whoopsies, hätte vielleicht vorher mal nachdenken sollen. Diese Funktion rechnet nur Zahlen aus dem Dezimalsystem in andere um, sonst nichts. 'schuldige

Wenn man alles in einer einzigen function haben will, müsste es in etwa so hier aussehen:
Delphi-Quellcode:
function BaseToBase(Value: string; StartBase, EndBase: byte): string;
const Digits = '0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ';
var i: Integer; dez, j: Int64;
begin
Result:='';
if (StartBase<2) or (StartBase>36) or
(EndBase<2) or (EndBase>36) then Exit;
for i:=1 to Length(Value) do begin
j:=Pos(Value[i], Digits);
if (j>StartBase) or (j=0) then Exit;
end;
j:=1;
dez:=0;
for i:=Length(Value) downto 1 do begin
dez:=dez + (Pos(Value[i], Digits)-1) * j;
j:=j*StartBase;
end;
repeat
Result:=Digits[dez mod EndBase+1] + Result;
dez:=dez div EndBase;
until dez=0;
end;
Damit kann man von 2er bis zum 36er System alles umrechnen lassen.