Einzelnen Beitrag anzeigen

Illuminator-23-5
(Gast)

n/a Beiträge
 
#1

Umwandlung vom/ins Dezimalsystem

  Alt 21. Aug 2003, 09:38
folgende funktion wandelt eine zahl aus einem beliebigen System in eine dezimalzahl um
Delphi-Quellcode:
function xToDec(Nb: string; sys: byte): integer;
const
  ch = '0123456789ABCDEF'
var
  i: integer;
begin
  result := 0;
  if sys in [2..16] then
  begin
    for i := 1 to length(Nb) do
      result := result*sys + pos(upCase(Nb[i]), ch) - 1;
  end;
end;
und diese macht genau das gegenteil:
Delphi-Quellcode:
function DecToX(Nb: integer; sys: byte): string;
const
  ch = '0123456789ABCDEF';
begin
  result := '';
  if sys in [2..16] then
    while Nb > 0 do
    begin
      result := ch[Nb mod sys+1] + result;
      Nb := Nb div sys;
    end;
end;
Man könnte auch die ch-Konstante erweitern, dadurch wären dann auch riesige zahlensysteme möglich

[edit=Matze]Code formatiert. Mfg, Matze[/edit]
[edit=Chakotay1308]Titel angepasst. Mfg, Chakotay1308[/edit]
  Mit Zitat antworten Zitat