Sign in Join
Wiki copytemporary

number systems/de: what changed

Revision 0 to 1. Removed lines have a minus sign; added lines have a plus sign.

Title: number systems/de

OldNewLine
1+Zurück zur Seite [[code examples/de|Code Beispiele]].\
2+
3+Diese Seite beeinhaltet die Umrechnung von Zahlensystemen.\
4+Die beiden Funktionen rechnen Ganzzahlen zwischen dem Dezimalsystem und einem beliebigen Zahlensystem nach dem Hornerschema um.\
5+
6+``` pascal
7+uses
8+ ...;
9+
10+ ...
11+
12+implementation
13+..
14+const
15+ conCharDigits = '0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ';
16+
17+ ...
18+
19+function funXInDec(conZahl: string; bytQuellsystem: byte): int64;
20+ // Die Funktion rechnet jeden Zahlsystem in das Dezimalsystem um
21+ // Parameter:
22+ // Zahl, Zahlensystem
23+ // Aufruf der Funktion: funXToDec('10100111', 2);
24+var
25+ intFor: integer;
26+ bytWert: byte;
27+begin
28+ Result := 0;
29+ for intFor := 1 to Length(conZahl) do
30+ begin
31+ bytWert := Pos(conZahl[intFor], conCharDigits) - 1;
32+ if (bytWert >= bytQuellsystem) then
33+ begin
34+ // Das Unterprogramm wird im Fehlerfall beendet
35+ Result := 0;
36+ Exit;
37+ end;
38+ Result := Result * bytQuellsystem + bytWert;
39+ end;
40+end;
41+
42+function funDecToX(i64Quelle: int64; bytZielsystem: byte): string;
43+ // Die Funktion rechnet das Dezimalsystem in jedes beliebige Zahlensystem um
44+ // Parameter:
45+ // Zahl, Zahlensystem
46+ // Aufruf der Funktion: funDecToX(ZwischenSystem, 16);
47+begin
48+ Result := '';
49+ repeat
50+ Result := conCharDigits[(i64Quelle mod bytZielsystem) + 1] + Result;
51+ i64Quelle := i64Quelle div bytZielsystem;
52+ until (i64Quelle = 0);
53+end;
54+
55+ ...
56+
57+```
58+
59+---
60+*From the Free Pascal wiki, page "number systems/de", as it stood on 2020-02-21 after a change by Trev, out of the wiki's dump of 2024-05-26. Copyright stays with the author who wrote it, according to the old wiki's [[Licensing]] page. If you have concerns about this material, [message the admin](/wiki-contact).*

Back to history