Informationsdarstellung
Bits & Bytes
Wer immer sich über die Leistungsfähigkeit von Produkten aus dem Computerbereich informiert, wird dabei wahrscheinlich auf einige „magische” Werte (z.B. 128, 512, 4096, 32768, 65536, oder auch die um eins kleineren Zahlen, z.B. 32767) treffen. Als „Geheim¬nis” hinter all diesen Zahlen entpuppt sich die Zahl Zwei (128=27 bit, 512=29, 4096=212, 32768=215, 65536=216).
Diese zentrale Rolle der Zahl Zwei ist kein Zufall: Informationen, die mit zwei Zuständen (nämlich Strom und kein Strom) dargestellt sind, lassen sich mit Hilfe elektronischer Schaltelemente (in der Anfangszeit der Computer Relais und Röhren, heute ausschließlich Transistoren) zu neuen Ergebnissen verknüpfen und können z.B. mit Hilfe magnetisierbarer Materialien (codiert z.B. durch die Magnetisierungsrichtung) über längere Zeit aufbewahrt werden.
Diese zwei Zustände (z.B. auf elektrischen Leitungen Strom / kein Strom, ...) lassen sich verschieden interpretieren: etwa als die logischen Werte „Falsch” und „Wahr”, oder als die beiden Ziffern 0 und 1 (manchmal auch – zur Unterscheidung von den zehn Dezimalziffern – durch die beiden Buchstaben „O” und „L” repräsentiert).
Die letztere Interpretation gab einer Einheit, die genau zwei verschiedene Zustände haben kann, übrigens ihren Namen: Streicht man aus dem englischen ”binary digit” (zu deutsch: binäre Ziffer, Ziffer zur Basis Zwei) die mittleren Buchstaben heraus, ergibt sich – das Bit.
Lassen sich mit einem Bit zwei verschiedene Zustände darstellen, so können mit zwei Bit schon 4 (=22) verschiedene Zustände nachgebildet werden (nämlich 00, 01, 10 und 11), mit drei Bits 8 (=23), ... Allgemein: Mit n Bits lassen sich 2n verschiedene Zustände darstellen.
Fasst man acht Bit zusammen (damit können 28=256 verschiedene Zustände dargestellt werden; in der Regel genug, um alle Zeichen einer Sprache darstellen zu können), so erhält man als nächst größere Einheit, ein Byte. Selbstverständlich gibt es von diesen Bytes (wie auch den Bits) auch die gängigen Vielfachen, wie Kilo, Mega, Giga, ... Bei der Umrechnung spielt jedoch – im Gegensatz zum sonst üblichen Gebrauch – nicht die Zehn, sondern wiederum die Zwei die Hauptrolle: 1 kB (Kilobyte) = 1024 Byte (1024=210), 1 MB (Megabyte) = 1024 kB = 1.048.576 Byte, ...
Die letzte Einheit, die noch zu erwähnen wäre, ist das Wort. Dieses ist – abhängig vom verwendeten Computertyp – 2, 4 oder 8 Byte (16-Bit-, 32-Bit- oder 64-Bit-Prozessoren) groß und stellt üblicherweise die Menge an Information dar, die dieser Computer mit einem Arbeitsschritt verarbeiten kann.
Darstellung von Zahlen
BCD-Codierung
Um eine Dezimalziffer darzustellen, benötigt man 4 Bits (da man mit 3 Bits nur 23=8 verschiedene Werte darstellen kann, sind drei Bits gerade noch zu wenig). Eine mögliche Repräsentation von Dezimalziffern, auch binär kodierte Dezimalzahlen oder BCD-Darstellung bezeichnet, ist in folgender Tabelle abgebildet:
Dezimalziffer | BCD-kodiert |
---|---|
0 | 0 0 0 0 |
1 | 0 0 0 1 |
2 | 0 0 1 0 |
3 | 0 0 1 1 |
4 | 0 1 0 0 |
5 | 0 1 0 1 |
6 | 0 1 1 0 |
7 | 0 1 1 1 |
8 | 1 0 0 0 |
9 | 1 0 0 1 |
Binärdarstellung von Zahlen
Die Binärdarstellung von Zahlen schöpft hingegen alle möglichen Bitkombinationen aus: So lassen sich z.B. in 16 Bit alle ganzen Zahlen von 0 bis 65535 bzw. (wenn ein Vorzeichen verwendet wird) von -32768 bis +32767 darstellen. Bei 32 Bit wären das die ganzen Zahlen von 0 bis 4294967295 bzw. -2147483648 bis 2147483647.
Gleitkommadarstellung
Sollen Zahlen mit Nachkommastellen (oder auch sehr große bzw. kleine Zahlen) dargestellt werden, bedient man sich eines ähnlichen „Tricks” wie die „wissenschaftliche Notation” von Zahlen (z.B. -2,6410·108; bzw. auf dem Taschenrechner-Display: -2.64E+8): Die Zahl wird in eine Mantisse (in diesem Beispiel -2,64) sowie einen Exponenten (im Beispiel: +8) zu einer vorher festgelegten Basis (im Beispiel: 10) zerlegt. Für die Darstellung der Mantisse (die soweit „normalisiert” wird, dass sich das Dezimalkomma an einer bestimmten Stelle befindet, sodass eine „ganzzahlige” Darstellung möglich ist) und des Exponenten werden dann jeweils eine festgelegte Anzahl von Bits verwendet, wodurch einerseits der Wertebereich, andererseits auch die Genauigkeit der darstellbaren Zahlen festgelegt ist (diese Darstellung wird als Gleitkommadarstellung von Zahlen bezeichnet). Die im PC-Bereich gängigen Gleitkommaformate mitsamt ihren wichtigsten Eigenschaften sind in nachstehender Tabelle dargestellt:
Format | "short" | "long" | "extended" |
Größe [Bits] | 32 | 64 | 80 |
Größe [Bytes] | 4 | 8 | 10 |
kleinster darstellbarer Wert | ≈1,175·10-38 | ≈2,225·10-308 | ≈3,362·10-4932 |
größter darstellbarer Wert | ≈3,403·10+38 | ≈1,798·10+308 | ≈1,190·10+4932 |
Genauigkeit | ≈7 | ≈16 | ≈19 |
Besondere Aufmerksamkeit verdient die Tabellenzeile "Genauigkeit": Diese besagt nicht, dass alle Zahlen und Rechenergebnisse exakt darstellbar sind, sofern sie sich auf die angegebenen Dezimalstellen beschränken, sondern lediglich, dass sich das Rechenergebnis im Computer vom tatsächlichen Rechenergebnis maximal in der Größenordnung der angegebenen Dezimalstelle unterscheiden kann. Es kommt also zu Ungenauigkeiten aufgrund der Zahlendarstellung[Anmerkung 1] , die sich leider durch weitere Rechenoperationen aufschaukeln und das Gesamtergebnis z.T. signifikant verfälschen können (besonders anfällig hierfür sind Vergleichsoperationen und Rundungsfunktionen wie z.B. GANZZAHL() in Microsoft EXCEL).
Anmerkungen
- ↑ Grund ist wiederum das in Computern verwendete Binärsystem. Aber auch im gängigen Dezimalsystem lässt sich ähnliches beobachten, wenn gewisse Brüche mit einer begrenzten Anzahl von Stel¬len dargestellt werden müssen. Nimmt man z.B. einen Taschenrechner her, dividiert 1 durch 3 und multipliziert man das Ergebnis wieder mit 3, so zeigen viele Geräte als Ergebnis nicht 1, sondern 0,99999... an.
Anmerkungen