Mathe in der Informatik

Oktale und hexadezimale Werte

Du möchtest wissen, was oktale und hexadezimale Zahlen sind? Im Folgenden erklären wir dir, was es genauer mit diesen Zahlen auf sich hat, wann sie verwendet werden und wie du sie darstellen kannst.

Drei verschieden Basen: Binärzahlen, oktale Zahlen und hexadezimale Zahlen

Zu Beginn solltest du erst einmal wissen, dass es drei Basen gibt, die wichtig für die Informatik sind: Die zwei, die acht und die sechzehn. Die Zahlen, die zu diesen Basen stehen, nennt man Binär-, Oktal- und Hexadezimalzahlen.

Oktalzahlen, Oktalsystem, Hexadezimalzahlen, Hexadezimalsystem
Drei Basen

Die Binärzahlen sind auf niedrigstem Level das, was dein PC als Bits und Bytes verarbeitet. Sie legen fest, wann Strom fließt und wann nicht. Sie sind allerdings auf einer so niedrigen Ebene, dass sie für uns, wenn wir in C programmieren, nicht mehr vordergründig sind. Deshalb spielen sie für unsere weitere Betrachtung keine Rolle.

Oktalzahlen – Darstellung in C

Stattdessen befassen wir uns mit den Oktalzahlen. Diese wurden früher, als 24-Bit Systeme noch verbreitet waren, auch zur Eingabe und Ausgabe verwendet. Das liegt daran, dass jeweils drei Byte zu einer Oktalzahl zusammengefasst werden können und die Aus- und Eingaben damit verkürzt werden konnten. Heute dienen sie stattdessen unter UNIX zur Darstellung von Datenzugriffsrechten. Außerdem finden oktale Werte noch Verwendung im Transponder von Flugzeugen.

In C müssen Oktalzahlen als solche gekennzeichnet werden, da sonst sowohl der Mensch, als auch der Compiler sie für Dezimalzahlen halten würden. Das könnte wiederum zu gravierenden Rechen- oder Programmfehlern führen. Deswegen kannst du durch Einfügen einer Null zwischen dem Vorzeichen und der eigentlichen Ziffernfolge Zahlen als oktal kennzeichnen. Die Angabe eines Vorzeichens ist dabei optional. Allerdings ist es essenziell, dass die Ziffernfolge nur Oktalziffern, also Ziffern von null bis sieben, enthält. Damit kann der Rechner dann auch klar zwischen 22 und 022 unterscheiden.

Oktalzahlen, Oktalsystem
Oktalzahlen

Aber wir wollen ja nicht nur Zahlen als Oktalzahlen eingeben, sondern auch ausgeben. Dazu brauchst du allerdings noch sogenannte Formatzeichen, die angeben, dass der Rechner nicht ins Dezimal-, sondern ins Oktalsystem umwandelt.

Zu genau diesem Zweck gibt es drei verschiedene Formatzeichen. Da ist zum einen %o, zum anderen %lo und %ho. Letztere dienen der Ausgabe von Zahlen, die zu groß oder zu lang für %o sind. Damit haben wir schon mal eine Basis abgehakt.

Hexadezimalzahlen umrechnen

Schauen wir uns nun das Hexadezimalsystem an. Im Gegensatz zu den Oktalzahlen sind die Hexadezimalzahlen etwas speziell, denn sie enthalten auch Buchstaben. Das liegt daran, dass wir nicht genug Ziffern haben, um null bis fünfzehn abzudecken. Also setzen wir für die Ziffern zehn bis fünfzehn die Buchstaben A bis F ein. Damit sieht eine Hexadezimalzahl unter Umständen auch mal so aus:

ACFD = 44 285

Wenn du dir nicht mehr sicher bist wie die Umrechnung funktioniert, siehst du sie hier nochmal ausführlich:

Hexadezimalzahlen, Hexadezimalsystem
Hexadezimalzahlen

Ansonsten folgen die Hexadezimalzahlen aber den gleichen Regeln, wie alle anderen B-adischen Zahlen auch. In C kennzeichnen wir sie mit einer Null und einem großen X zwischen Vorzeichen und Ziffernfolge. Das Vorzeichen ist dabei wieder optional. Wichtig ist nur, dass die Ziffernfolge, die du eingibst, auch wirklich nur Ziffern der Basis 16 enthält. Ausgeben kannst du solche Zahlen natürlich auch. Das geschieht, wie bei den Oktalzahlen, durch Formatzeichen. Diese lauten: %X, %lX und %hX.

Anwendung

Aber wozu brauchst du die Zahlen jetzt überhaupt? Hexadezimalzahlen sind vielseitig einsetzbar, vor allem, da sie für uns Menschen sehr viel leichter zu verarbeiten sind als zum Beispiel Binärzahlen. Denn sie sind um einiges kürzer und damit einfacher lesbar und schneller schreibbar. Konkret verwendet der Rechner sie allerdings zur Ein- und Ausgabe. Das ist auch nur logisch. Denn heutige Datenwerte weisen meist 16, 32 oder 64 bit auf, die sich alle in sogenannte Tetraden oder auch Nibbles aufgliedern lassen. Diese bestehen jeweils aus vier Binärstellen, also einem halben Byte.

Eine Tetrade kann also immer als eine Hexadezimalstelle interpretiert werden. Das Ganze sieht dann in etwa so aus: 1010 1100 1101 1100 = ACDC. Die Umrechnungen für die einzelnen Buchstaben funktioniert so:

Hexadezimalzahlen, Hexadezimalsystem
Umrechnung Tetrade

Nun kennst du das oktale und hexadezimale Zahlensystem und bist gut vorbereitet, diese auch selbst anzuwenden.

Hallo, leider nutzt du einen AdBlocker.

Auf Studyflix bieten wir dir kostenlos hochwertige Bildung an. Dies können wir nur durch die Unterstützung unserer Werbepartner tun.

Schalte bitte deinen Adblocker für Studyflix aus oder füge uns zu deinen Ausnahmen hinzu. Das tut dir nicht weh und hilft uns weiter.

Danke!
Dein Studyflix-Team

Wenn du nicht weißt, wie du deinen Adblocker deaktivierst oder Studyflix zu den Ausnahmen hinzufügst, findest du hier eine kurze Anleitung.