Zahlensysteme (Binär und Hex) in der Informatik

Wie viele Bit braucht man um 256 verschiedene Zeichen darstellen zu können? Wie viele mögliche IP-Adressen gibt es? Was hat es mit den beiden wichtigsten Zahlensystemen auf sich und warum ist ein hexadezimales Zeichen genau 4 Bit groß? Mit all diesen doch eher theoretischen Themen soll sich der folgende Artikel beschäftigen. Viel Spaß beim Lesen 🙂

Das Dualsystem

Das wichtigste System in der Informatik ist natürlich das Dual- bzw. Binärsystem. Da es genug gute Quellen im Internet über die Hintergründe dieses Systems gibt, möchte ich hier nicht zu theoretisch werden und mich auf das Wesentliche konzentrieren. Das Wichtigste seit aber kurz gesagt: Ein Zeichen kann dort genau zwei Zustände annehmen: 0 und 1. Dieses Wissen ist für die nächsten Punkte sehr wichtig.

Stellenwertsystem

Nehmen wir als Beispiel einmal folgende 4 Ziffern aus dem Binärsystem: 1101. Neben den Ziffern gibt es noch eine Basis. In diesem Beispiel haben wir die Basis 2, da wir im Binärsystem unterwegs sind. Um jetzt den Stellenwert, also den (dezimalen) Wert einer Ziffer zu bestimmen, ist es wichtig die 2er-Potenzen zu kennen. Außerdem wird von rechts nach links gelesen und gerechnen und ganz rechts wird mit dem niedrigsten Exponenten 0 begonnen, der in die linke Richtung immer um 1 erhöht wird. Es wird dann Ziffer * Basis Exponent gerechnet, um den Stellenwert zu ermitteln:

Binärzahl 1 1 0 1
Stellenwert 1 * 23 = 8 1 * 22 = 4 0 * 21 = 0 1 * 20 = 1

Umrechnen von Dual in Dezimal

Um nun den dezimalen Wert einer Binärzahl (nicht nur den einer einzelnen Ziffer) zu berechnen, müssen die einzelnen Stellenwerte miteinander addiert werden. Bei dem obigen Beispiel erhalten wir so den Wert 13, denn 1 * 20 + 0 * 21 + 1 * 22 + 1 * 23 = 13

Wenn man die 2er-Potenzen kennt, kann man auch einfach die einzelnen Ziffern mit der Potenz multiplizieren und alle Ergebnisse addieren: 1 * 1 + 0 * 2 + 1 * 4 + 1 * 8 = 13

Umrechnen von Dezimal in Dual

Um eine dezimale Zahl in Binär umzurechnen sind folgende Schritte anzuwenden:

  1. Dividiere die dezimale Zahl durch 2 (=> 2 ist die Basis vom Binärsystem) und notieren den Rest.
  2. Teile den Quotient durch 2 und notiere den Rest, bis der Quotient 0 beträgt.
  3. Notiere die Reste der Reihe nach von hinten nach vorne. Das Ergebnis ist die Binärzahl.

Beispiel: Dezimalzahl 13 soll in Binär umgerechnet werden.

13 : 2 = 6, Rest 1
6 : 2 = 3, Rest 0
3 : 2 = 1, Rest 1
1 : 2 = 0, Rest 1

Wenn man jetzt die Reste von hinten nach vorne, bzw. in diesem Beispiel von unten nach oben ließt, ist das Ergebnis 1101. Somit ist 1101 der Binärwert für die dezimale 13.

Wie viele Kombinationen gibt es und wie viele Bit werden für x Kombinationen benötigt?

Oft hört man Fragen wie "Wie viele IPv4- oder MAC-Adressen gibt es?" oder "Wie viele Bit werden für ein Zeichen benötigt, wenn der erweiterten ASCII Zeichensatz verwendet wird?". Bei diesen Fragen muss man nicht anfangen im Internet zu recherchieren, sondern kann ganz einfach folgende kurze Gleichung anwenden: Basisn = Anzahl Möglichkeiten oder n = log(Anzahl Möglichkeiten) : log(Basis).

Frage: Wie viele IPv4-Adressen gibt es?
Lösung: 232 = 4.294.967.296 (ca. 4,2 Mrd.) IPv4-Adressen
Erklärung: Eine IPv4-Adresse besteht aus 32 Bit, also 32 Zeichen im Binärsystem. Die Basis des Binärsystems beträgt 2. Also ist das Ergebnis 232.

Frage: Wie viel Bit werden für ein Zeichen benötigt, wenn der erweiterten ASCII Zeichensatz verwendet wird, der bekanntlich 256 verschiedene Zeichen darstellen kann?
Lösung: log(256) : log(2) = 8 Bit
Erklärung: Der erweiterte ASCII Zeichensatz kann 256 verschiedene Zeichen darstellen und die Basis des Binärsystems beträgt 2. Da wir, wenn wir uns die erste Gleichung ansehen, den Exponenten n bestimmen müssen, kann das Ergebnis nur mit einem mathematischen Logarithmus berechnet werden. Es handelt sich quasi um die Umkehrrechnung des ersten Beispiels nur mit anderen Zahlen.

Das Hexadezimalsystem

Neben dem Binärsystem gibt es noch das Hexadezimalsystem. Aber wie auch schon beim Dualsystem möchte ich hier nicht zu theoretisch werden und beschränke mich auch hier wieder nur auf das Wesentliche: Das System hat eine Basis von 16. Ein Zeichen kann also 16 verschiedene Zustände annehmen: 0 bis 9 und A bis F.

Folgende Tabelle zeigt alle hexadezimalen Zeichen und dessen Gegenstück im binären- und im dezimalen Zahlensystem. Außerdem zeigt sie, dass ein hexadezimales Zeichen genau 4 Bit groß ist.

Binär/Dual Dezimal Hexadezimal
0000 0 0
0001 1 1
0010 2 2
0011 3 3
0100 4 4
0101 5 5
0110 6 6
0111 7 7
1000 8 8
1001 9 9
1010 10 A
1011 11 B
1100 12 C
1101 13 D
1110 14 E
1111 15 F

Umrechnen von Hex in Dezimal

Das Umrechnen von Hex in Dezimal funktioniert sehr ähnlich wie das Umrechnen von Binär in Dezimal, nur dass die Basis eben jetzt 16 ist. In diesem Beispiel rechne ich die hexadezimale Zahl F4BA um. Auch hier wird wieder von hinten nach vorne gerechnet. Dabei werden die Buchstaben in die entsprechenden dezimalen Zahlen umgewandelt. Ein A ergibt so eine 10 (siehe obige Tabelle) usw.:

10 * 160 = 10
11 * 161 = 176
4 * 162 = 1024
15 * 163 = 61.440
=> Wenn man alle Teilergebnisse addiert, erhält man das Ergebnis: 62.650

Umrechnen von Dezimal in Hex

Auch das Umrechnen von Dezimal in Hex funktioniert ähnlich wie das Umrechnen von Dezimal in Binär. Allerdings haben wir auch hier wieder eine Basis von 16. So ergibt sich aus dem dezimalen Wert 62.650 folgender hexadezimaler Wert:

62.650 : 16 = 3.915, Rest 10 –> Ziffer A
3.915 : 16 = 244, Rest 11 –> Ziffer B
244 : 16 = 15, Rest 4 –> Ziffer 4
15 : 16 = 0, Rest 15 –> Ziffer F

Wenn man jetzt die ausgerechneten Ziffern von unten nach oben hintereinander reiht, erhält man den hexadezimalen Wert für die dezimale 62.650 => F4BA.

Warum besteht ein hexadezimales Zeichen aus 4 Bit?

Um das auszurechnen, sollte man den obigen Abschnitt "Wie viele Kombinationen gibt es und wie viele Bit werden für x Kombinationen benötigt?" gelesen haben. Das Prinzip ist hier das Gleiche. Wir haben eine Basis von 2 (hier ist die Basis des Binärsystems zu nehmen, weil wir wollen ja wissen, wie viele Bit wir brauchen um ein hexadezimales Zeichen darzustellen) und wissen, dass wir damit 16 verschiedene Zeichen (0 bis 9 und A bis F) darstellen können. Also brauchen wir wieder die Gleichung von oben: Basisn = Anzahl Möglichkeiten oder n = log(Anzahl Möglichkeiten) : log(Basis). Für diese Aufgabe brauchen wir natürlich die zweite Formel, denn wir wollen ja beweisen, dass ein hexadezimales Zeichen 4 Bit groß ist. Sprich, wir wollen n berechnen, denn die Anzahl der Möglichkeiten wissen wir ja schon: 16 (0 bis 9 und A bis F).

Frage: Wie viel Bit werden für ein hexadezimales Zeichen benötigt?
Lösung: log(16) : log(2) = 4 Bit bzw. 1 Nibble
Erklärung: Ein hexadezimales Zeichen kann 16 Werte annehmen und die Basis des Binärsystems beträgt 2. Da wir, wenn wir uns die erste Gleichung (Basisn = Anzahl Möglichkeiten) in der obigen Beschreibung ansehen, den Exponenten bestimmen müssen, kann das Ergebnis nur mit einem mathematischen Logarithmus berechnet werden.

Beitrag kommentieren

Bitte verfasse einen Kommentar.

Dein Kommentar wird vor der Freischaltung von einem Admin moderiert.