number systems/de
From Free Pascal wiki
Jump to navigationJump to searchThe printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.
│
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;
...