Difference between revisions of "number systems/de"

From Lazarus wiki
Jump to navigationJump to search
(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...")
 
m (Fixed syntax highlighting; removed categories included in template)
 
(4 intermediate revisions by 2 users not shown)
Line 1: Line 1:
 
{{number systems}}
 
{{number systems}}
 
<br>
 
<br>
 +
Zurück zur Seite [[code examples/de|Code Beispiele]].<br>
 +
<br>
 +
Diese Seite beeinhaltet die Umrechnung von Zahlensystemen.<br>
 
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 55: Line 58:
 
    
 
    
 
</syntaxhighlight>
 
</syntaxhighlight>
<br>
 
<br>
 
--[[User:Olaf|Olaf]] 05:17, 20 May 2013 (UTC)
 
[[Category:Code Parts/de]]
 

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