Thema: Delphi Oktalzahl zu Dezimalzahl

Einzelnen Beitrag anzeigen

Phantom1

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

Re: Oktalzahl zu Dezimalzahl

  Alt 6. Apr 2006, 10:20
Ich hab ne function die jedes Zahlensystem ins andere Rechnen kann (warum sollte man auch für jede umrechnung eine function schreiben?):

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;
Beispiele:
Delphi-Quellcode:
ShowMessage(BaseToBase('101010', 2, 16)); // umrechnung von Binär in Hex
ShowMessage(BaseToBase('12345', 10, 8)); // umrechnung von Dezimal in Oct
mfg
  Mit Zitat antworten Zitat