Lazarus: Eingabe von Binär, Hexadezimal und Integer-Zahlen
Artikel von Stefan Trost | Letztes Update am 10.01.2023 | Erstellt am 20.01.2014
Was manche vielleicht nicht wissen: In Lazarus ist es ohne weiteres möglich, neben der Eingabe einer Integer-Zahl auch Binärzahlen und Zahlen in hexadezimaler Schreibweise direkt im Code zu definieren und einzugeben. In diesem Artikel möchte ich euch zeigen, wie das geht.
Die Präfixe $ und %
Integer-Zahlen können einfach als Dezimal-Zahl ohne jeglichen Präfix oder andere Besonderheiten, die zu beachten sind, in den Code geschrieben werden.
Um diese Zahlen von den Binärzahlen und Hexadezimalzahlen im Code unterscheiden zu können, wird hexadezimalen Werten ein $ und Binärwerten ein % vorangestellt:
var a, b, c, d, e: integer; begin a := 20; // dezimal b := $0F; // hexadezimal c := %10100; // binär d := a + b + c; // = 55 e := d + 2 + $2 + $10; // = 66 end;
In diesem Beispiel setzen wir die Integer-Variablen a, b und c jeweils auf den Wert 20 - einmal in dezimaler Schreibweise (20), einmal in hexadezimaler Schreibweise ($oF) und einmal in binärer Schreibweise (%10100).
Egal wie man eine Zahl auch angibt, man kann sie alle in einer Variable vom Typ Integer speichern und beliebig miteinander verrechnen. Das zeigt im Beispiel auch die Zeile, in der wir die Variable "e" auf die Summe aus "d" und den Zahlen aus den anderen Systemen setzen.
Umrechnungstabelle
Um ein Gefühl für die Umrechnung zwischen den verschiedenen Zahlensystemen zu bekommen, hier zuletzt noch eine Tabelle mit einigen Werten dargestellt in den verschiedenen Systemen:
Dezimal | Binär | Hexadezimal |
0 | %00000 | $00 |
1 | %00001 | $01 |
2 | %00010 | $02 |
3 | %00011 | $03 |
4 | %00100 | $04 |
5 | %00101 | $05 |
6 | %00110 | $06 |
7 | %00111 | $07 |
8 | %01000 | $08 |
9 | %01001 | $09 |
10 | %01010 | $0A |
11 | %01011 | $0B |
12 | %01100 | $0C |
13 | %01101 | $0D |
14 | %01110 | $0E |
15 | %01111 | $0F |
16 | %10000 | $10 |
17 | %10001 | $11 |
18 | %10010 | $12 |
19 | %10011 | $13 |
20 | %10100 | $14 |
100 | %1100100 | $64 |
255 | %011111111 | $00FF |
256 | %100000000 | $0100 |
257 | %100000001 | $0101 |
1000 | %1111101000 | $03E8 |
Das Dezimalsystem ist ein Zahlensystem mit der Basis 10, es kommen also die Ziffern 0 bis 9 vor. Im Binärsystem ist die Basis 2, nur die Ziffern 1 und 0 werden verwendet, daher ist schon die dezimale 2 hier die 10. Das Hexadezimalsystem ist ein System mit der Basis 16. Es beinhaltet die "Ziffern" 0 bis 9 und A bis F um die Zahlen 0 bis 15 darzustellen. Erst bei der Zahl 16 wird dieses Zahl mit der 10 zweistellig.
Bei der Schreibweise der hexadezimalen und binären Zahlenwerte spielen die Anzahl der vorangestellten Nullen übrigens keine Rolle. Ob man sich nun für $002, $02, $2, %0010 oder %10 entscheidet ist egal und dient nur der besseren Lesbarkeit des Codes.
Über den Autor
Software von Stefan Trost finden Sie auf sttmedia.de. Benötigen Sie eine individuelle Software nach Ihren eigenen Wünschen? Schreiben Sie uns: sttmedia.de/kontakt
Profil anzeigen
Ähnliche Themen
MySQL: Zeilenumbrüche in MySQL
Tipp | 0 Kommentare
Lazarus: Datei als Byte-Array laden und Byte-Array als Datei speichern
Tutorial | 0 Kommentare
Delphi/Lazarus: Nur Zahlen im Edit-Feld erlauben
Tipp | 0 Kommentare
Delphi/Lazarus: 3 Wege um eine Zahl auf X Nachkommastellen zu runden
Tutorial | 0 Kommentare
Delphi/Lazarus: Markierte Items aus ListBox mit ENTF-Taste löschen
Tipp | 0 Kommentare
Windows Batch Script: Computer herunterfahren
Tutorial | 2 Kommentare
Schreibweise der Dateiendung vieler Dateien ändern
Tutorial | 0 Kommentare
Wichtiger Hinweis
Bitte beachten Sie: Die Beiträge auf askingbox.de sind Beiträge von Nutzern und sollen keine professionelle Beratung ersetzen. Sie werden nicht von Unabhängigen geprüft und spiegeln nicht zwingend die Meinung von askingbox.de wieder. Mehr erfahren.
Jetzt mitmachen
Stellen Sie Ihre eigene Frage oder schreiben Sie Ihren eigenen Artikel auf askingbox.de. So gehts.