Einzelnen Beitrag anzeigen

Phantom1

Registriert seit: 20. Jun 2003
282 Beiträge
 
Delphi 10.4 Sydney
 
#2

Re: Kleiner Zahlenkonvertierer

  Alt 12. Jan 2008, 09:25
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.
  Mit Zitat antworten Zitat