Die internen Abläufe aller Computer sind in Speichereinheiten, sogenannten Bytes organisiert. Um Daten aus der realen Welt mit einem Computer bearbeiten zu können, müssen sie im Arbeitsspeicher vorliegen. Dazu müssen sie so dargestellt werden, daß sie in die Speichereinheiten passen.
Die realen Daten werden ,,digitalisiert`` oder
,,codiert``. Zur Codierung finden
verschiedene Modelle Verwendung.
Als Formate für die digitale Darstellung von Daten sind vor allem fünf Typen von Bedeutung:
Jede natürliche Zahl läßt sich im binären Zahlensystem darstellen.
Internationale Zeichen, wie zum Beispiel die deutschen Umlaute, sind in dieser Tabelle nicht enthalten. Für die internationalen Zeichensätze gibt es verschiedene Tabellen. Unter Linux sind zwei Tabellen von besonderer Bedeutung:
Wie schon gesagt, kann ein Byte durch eine Dezimalzahl dargestellt werden, indem alle möglichen Bytes aus je acht Bits von 0 bis 255 abgezählt werden. Es ist aber ebensogut möglich, das höchste Bit eines Bytes als Vorzeichen zu interpretieren. Damit wird die Menge aller Bytes auf die Zahlen von -128 bis 127 abgebildet. Bei der Darstellung von Binärzahlen beziehungsweise Bytes durch Dezimalzahlen muß also immer darauf geachtet werden, ob die Dezimalzahlen mit einem Vorzeichen behaftet sind oder nicht.
Die Darstellung von Dezimalzahlen größer als 255 bzw. kleiner als -128 durch Bytes wird durch die Verwendung mehrerer Bytes für eine Zahl realisiert. Mit zwei Bytes können kleine natürliche Dezimalzahlen (short integer) von 0 bis 65535 bzw. ganze Zahlen von -32768 bis 32767 dargestellt werden. Größere Zahlen müssen durch entsprechend mehr Bytes codiert werden. Der GNU-C-Compiler von Linux bietet standarmäßig vier Byte große long integer an.
Als annäherndes Modell für rationale oder reelle Zahlen benutzen Computer Fließkommazahlen. Eine Fließkommazahl mit einfacher Genauigkeit (float) wird intern durch vier Bytes (=32 Bits) dargestellt, von denen ein Bit das Vorzeichen, 8 Bit den Exponenten mit eigenem Vorzeichen und die restlichen 23 Bit die Mantisse darstellen. Fließkommazahlen mit doppelter Genauigkeit (double) werden durch (unter Linux normalerweise) acht Bytes mit 11 Bit Exponenten und 52 Bit Mantisse dargestellt. Transzendente Zahlen können vom Computer nicht dargestellt und deshalb auch nicht bearbeitet werden. Rationale Zahlen, die außerhalb des hier dargestellten Bereichs liegen, können unter Linux nicht mit Standardfunktionen berechnet werden.
Der Vorteil des oktalen Zahlensystems besteht in der leichten Umrechenbarkeit von Oktalzahlen in Binärzahlen und umgekehrt. Weil die Oktalzahlen ,,handlicher`` sind als ihre binären Äquivalente, werden sie gern zur Darstellung von Bytes verwendet.
0 = 000 1 = 001 2 = 010 3 = 011 4 = 100 5 = 101 6 = 110 7 = 111Jede Oktalziffer kann als dreistellige Binärzahl dargestellt werden. Die Umrechnung einer Oktalzahl in eine Binärzahl erfolgt einfach, indem die den Ziffern entsprechenden Binärzahlen aneinandergehängt werden. Umgekehrt kann aus einer Binärzahl eine Oktalzahl gemacht werden, indem die Binärzahl in Gruppen zu je drei Bits zerlegt wird und dann für jede Gruppe die entsprechende Oktalziffer eingesetzt wird. Auf diese Weise können also Binärzahlen in handliche Stücke zerlegt werden.
Ein Byte besteht aus acht Bits. Zur Darstellung als Oktalzahl wird ein neuntes Bit gedacht, das immer Null ist.
1 1 1 1 0 1 0 1 0 1 1|1 1 0|1 0 1 3 | 6 | 5
1 1 1 1 0 1 0 1 1 1 1 1|0 1 0 1 F | 5
Im Hexadezimalsystem entspricht ein Byte aus acht Bits genau einer zweistelligen Hexadezimalzahl.
Wenn aus dem Zusammenhang eines Textes nicht deutlich wird, in welchem Zahlensystem gerechnet wird, kann durch eine kleine tiefgestellte Zahl die entsprechende Zahlenbasis angegeben werden.