Informations- und Kommunikationstechnik

Zahlensysteme im digitalen Datenverkehr

Zur Datenverarbeitung gibt es für die Prozessoren nur zwei Zustände, die allgemein als High und Low oder mit 1 und 0 bezeichnet werden. Alle Befehle zur Programmausführung werden zuvor in dieses binäre System übersetzt. So ist jedem Tastaturzeichen ein definierter Ziffernwert zugeordnet, den man in einer ASCII-Tabelle oder umfassender als UTF-8-Code findet. Die Werte stehen dort für uns leichter lesbar in dezimaler oder hexadezimaler Notation. Zum Umgang mit numerischen Netzwerkadressen und zur Entschlüsselung von Protokollaufzeichnungen und Datagrammen aus dem Internet benötigt man Kenntnisse einiger weniger Zahlensysteme.

Dekadisches System

Das dezimale oder dekadische Zahlensystem ist uns aus dem Alltag geläufig. Verwendet werden die Ziffern 0 ... 9 und der Stellenwert wird durch eine Zehnerpotenz bestimmt. Die Einer-, Zehner-, Hunderter-, Tausenderstelle usw. ergibt sich aus der entsprechenden Potenz der Basis 10.

Eine positive ganze Zahl aus dem dekadischen Zahlensystem wird wiederholt durch die Basis 10 dividiert und der Divisionsrest notiert, bis die Division mit einem letzten Rest aus dem Ziffernvorrat aufgeht. Vom letzten zum ersten Rest gelesen stehen die Faktoren, mit denen die Zehnerpotenzen zu multiplizieren sind. Die Restwerte aneinandergereiht ergeben die Ausgangszahl. Werden sie als Faktoren mit der zugehörigen Zehnerpotenz multipliziert und alle Teilergebnisse zur Gesamtsumme addiert, erhält man wieder die Ausgangszahl. So beschrieben erscheint uns das kompliziert, da wir automatisch richtig mit dem dekadischen Zahlensystem umgehen können. Ist die Basis des verwendeten Zahlensystems aus dem Zusammenhang nicht eindeutig erkennbar, wird sie als Index dazu notiert.

dekadisches System

Binärsystem

Verglichen mit dem dekadischen System gibt es nur die beiden Ziffern 0 und 1. Die Basis ist die 2 und der Stellenwert folgt der Zweierpotenzreihe. So kann jede Folge von Einsen und Nullen in die entsprechende Dezimalzahl umgerechnet werden. Man multipliziert jede Ziffer der Folge mit der zugehörigen Zweierpotenz und bildet die Gesamtsumme.

Binärfolge in Dezimalzahl

Die Umrechnung einer dekadischen positiven Ganzzahl in die entsprechende binäre Ziffernfolge funktioniert ebenfalls nach dem Resteverfahren. Es wird fortgesetzt durch die Basis 2 dividiert und der Rest notiert, bis ein Ergebnis aus dem Ziffernvorrat übrig bleibt. Die Binärzahl wird von links nach rechts durch Aneinanderreihen der Reste vom Letzten zum Ersten gebildet.

Dezimalzahl in Binärfolge

Hexadezimalsystem

Das Hexadezimal- oder Sedezimalsystem ist ein in der Computertechnik häufig zu findendes Zahlensystem. Das Wort ist zusammengesetzt aus hexa für sechs und decem für zehn, da der Wertebereich 16 Zeichen umfasst. Zu den Ziffern 0 ... 9 kommen die Buchstaben A ... F hinzu. Die Dezimalzahl 10 entspricht somit hexadezimal A und F steht für die Dezimalzahl 15. Mit der Basiszahl 16 und der Potenzreihe für 16 ergeben sich die Stellenwerte. So kann jede Hexadezimalzahl in ihre Dezimalzahl umgerechnet werden.

Hexadezimalfolge in Dezimal

Die Umwandlung einer positiven ganzen Dezimalzahl in ihre Hexadezimalfolge geschieht durch fortgesetztes Dividieren durch die Basis 16 nach der Restemethode. Für die dezimalen Restwerte >9 sind die entsprechenden Buchstaben zu verwenden. Die Hexadezimalfolge wird wieder von unten nach oben gelesen und von links nach rechts geschrieben, sodass der letzte Rest das erste Wertsymbol ist.

Dezimalzahl in Hexadezimalfolge

Oktalsystem

Das oktale Zahlensystem hat die Basiszahl 8 und den Ziffernvorrat 0 ... 7. Die Verwendung des Oktalsystems war zur Anfangszeit der Computertechnik häufiger. Die sehr langen Binärfolgen konnten in eine viel kürzere Ziffernfolge umgewandelt geschrieben werden, wobei der Zeichenvorrat der Dezimalzahlen ausreichte und man ohne Buchstaben auskam. Zudem entsprach die Basis 8 einer Zweierpotenz des Dualsystems. Drei Binärstellen zusammengefasst lassen sich in eine Oktalstelle umwandeln. Die Umrechnung des Dezimalsystems in das Oktalsystem und umgekehrt funktioniert nach den oben vorgestellten Rechenschritten.

Octal- mit Dezimalsystem

Gegenseitige Umwandlung vom Hexadezimal- ins Binärsystem

Das Hexadezimalsystem mit der Basis 16 passt recht gut zum Binärsystem, da 24 = 16 ist. Unterteilt man eine Binärziffernfolge in Vierergruppen, so kann der Dezimalwert jeder Gruppe ohne viel Rechenaufwand in die Hexadezimalziffer umgeschrieben werden. Die Vierergruppen werden auch als Nibble bezeichnet. Ebenso kann jedes Symbol einer Hexadezimalfolge über seinen Dezimalwert in einen Viererblock der Binärfolge geschrieben werden.

Hexadezimal zu Binär

Gegenseitige Umwandlung vom Binär- zum Oktalsystem

Auch diese beiden Zahlensysteme stehen über eine Potenz der Basiszahl 2 in Verbindung. Die Binärziffernfolge wird in Dreiergruppen unterteilt, da 23 = 8 ist. Die Umrechnung erfolgt über den Dezimalwert jedes Blocks. Zur besseren Lesbarkeit können Punkte oder Hochkomma als Trennzeichen gesetzt werden.

Octal zu Binär

Gegenseitige Umwandlung vom Hexadezimal- zum Oktalsystem

Die Umrechnung gelingt blockweise über die Binärfolge, da alle drei Zahlensysteme mit Potenzen der Basiszahl 2 in Verbindung stehen. Jedes Symbol der Hexadezimalzeichenfolge wird über seinen Dezimalwert in einen binären Viererblock gewandelt. Die Binärfolge wird in Dreierblocks unterteilt und ihr Dezimalwert entspricht dem oktalen Stellenwert.
Jede Stelle einer Oktalziffernfolge wird in einen binären Dreierblock überführt. Die Binärfolge wird in Viererblocks aufgeteilt. Der Dezimalwert jedes Blocks wird als Hexadezimalsymbol geschrieben.

Octal zu Hexadezimal

Zum Abschluss der theoretischen Betrachtungen gibt es ein kleines interaktives Zahlenquiz, mit dem jeder seine Fähigkeiten überprüfen kann, ob er in einer bestimmten Zeit die Bitfolge eines Bytes in den Dezimalwert oder Hexadezimalwert umwandeln, beziehungsweise für eine zufällige Dezimalzahl die Bitfolge eines Bytes einstellen kann.