814 Stimmen

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:

DezimalBinärHexadezimal
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.

AntwortenPositivNegativ

Über den Autor

AvatarSoftware 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: Integer Typen

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