number systems/de

From Lazarus wiki
Revision as of 07:17, 20 May 2013 by Olaf (talk | contribs) (Created page with "{{number systems}} <br> Die beiden Funktionen rechnen Ganzzahlen zwischen dem Dezimalsystem und einem beliebigen Zahlensystem nach dem Hornerschema um.<br> <br> <syntaxhighlig...")
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigationJump to search

Deutsch (de)

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;
  
  ...



--Olaf 05:17, 20 May 2013 (UTC)