Difference between revisions of "number systems/de"

From Lazarus wiki
Jump to navigationJump to search
m
m (Fixed syntax highlighting; removed categories included in template)
 
(One intermediate revision by one other user not shown)
Line 6: Line 6:
 
Die beiden Funktionen rechnen Ganzzahlen zwischen dem Dezimalsystem und einem beliebigen Zahlensystem nach dem Hornerschema um.<br>
 
Die beiden Funktionen rechnen Ganzzahlen zwischen dem Dezimalsystem und einem beliebigen Zahlensystem nach dem Hornerschema um.<br>
 
<br>
 
<br>
<syntaxhighlight>
+
<syntaxhighlight lang=pascal>
 
uses
 
uses
 
   ...;
 
   ...;
Line 58: Line 58:
 
    
 
    
 
</syntaxhighlight>
 
</syntaxhighlight>
<br>
 
<br>
 
--[[User:Olaf|Olaf]] 05:17, 20 May 2013 (UTC)
 
[[Category:Code Parts/de]]{{AutoCategory}}
 

Latest revision as of 12:59, 21 February 2020

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