number systems/de
From Lazarus wiki
Jump to navigationJump to search
│
Deutsch (de) │
Zurück zur Seite Code Beispiele.
Diese Seite beeinhaltet die Umrechnung von Zahlensystemen.
Die beiden Funktionen rechnen Ganzzahlen zwischen dem Dezimalsystem und einem beliebigen Zahlensystem nach dem Hornerschema um.
uses
...;
...
implementation
..
const
conCharDigits = '0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ';
...
function funXInDec(conZahl: string; bytQuellsystem: byte): int64;
// Die Funktion rechnet jeden Zahlsystem in das Dezimalsystem um
// Parameter:
// Zahl, Zahlensystem
// Aufruf der Funktion: funXToDec('10100111', 2);
var
intFor: integer;
bytWert: byte;
begin
Result := 0;
for intFor := 1 to Length(conZahl) do
begin
bytWert := Pos(conZahl[intFor], conCharDigits) - 1;
if (bytWert >= bytQuellsystem) then
begin
// Das Unterprogramm wird im Fehlerfall beendet
Result := 0;
Exit;
end;
Result := Result * bytQuellsystem + bytWert;
end;
end;
function funDecToX(i64Quelle: int64; bytZielsystem: byte): string;
// Die Funktion rechnet das Dezimalsystem in jedes beliebige Zahlensystem um
// Parameter:
// Zahl, Zahlensystem
// Aufruf der Funktion: funDecToX(ZwischenSystem, 16);
begin
Result := '';
repeat
Result := conCharDigits[(i64Quelle mod bytZielsystem) + 1] + Result;
i64Quelle := i64Quelle div bytZielsystem;
until (i64Quelle = 0);
end;
...