1 Bits und Bytes

1.1 Digitale Darstellung von Information
1.2 Wieviel Information enthält eine Nachricht?
1.3 Beispiele von Datenmengen
1.4 Das Shannon'sche Informationsmaß

Zum Inhaltsverzeichnis Zum nächsten Kapitel

There are 10 kinds of persons,
those who understand binary
and those who don't.

1.1 Digitale Darstellung von Information


"Digitale Informationsverarbeitung" bedeutet, dass Informationen in digitaler Form gelesen, bearbeitet, gespeichert und transportiert wird. Die kleinste digitale Informationseinheit ist das Bit (Kunstwort aus "binary digit"), das nur 2 Zustände annehmen kann. Diese beiden Zustände werden je nach Kontext mit willkürlichen Namen belegt, z.B. "H" und "L" (für "high" und "low") oder "0" und "1".

Im Computer werden selten einzelne Bits verarbeitet. Die kleinste Informationseinheit, auf die ein Rechner leicht zugreifen kann, ist ein Byte: ein Byte ist eine geordnete Folge von 8 Bit. Nehmen wir für die Darstellung der einzelnen Bitwerte die obige "0/1"-Repräsentation, dann läßt sich ein Byte als eine geordnete Folge von 8 "0/1-Entscheidungen" darstellen, z.B.: "1001 1101" (mit einem Leerzeichen in der Mitte, um die Lesbarkeit zu verbessern). Da jedes Bit 2 verschiedene Zustände annehmen kann, kann ein Byte 28, also 256 verschiedene Zustände annehmen.

Interpretiert man ein Byte als die Darstellung einer natürlichen Zahl im Dual-System, dann lassen sich in einem Byte die 256 Zahlen von 0 bis 28 - 1, also von 0 bis 255 darstellen. Das Byte "1001 1101" stellt dann die natürliche Zahl
dar. Um Dualzahlen von Dezimalzahlen zu unterscheiden, hängen wir an die "0/1"-Folge einer Dualzahl ein kleines tiefgestelltes "b" (für "binäre" Zahl, d.h. Dualzahl), z.B.:
Für die Computertechnik hat sich die übersichtlichere Darstellung von Bytes im Hex-System durchgesetzt. Dies ist das Stellenwertsystem zur Basis 16. Um Hex-Zahlen von Zahlen in Dezimal-Darstellung zu unterscheiden, fügen wir an die Ziffernfolge von Hex-Zahlen ein kleines tiefgestelltes "h" an: Zur Darstellung der Stellenwerte größer als 9 brauchen wir im Hex-System neue Ziffern: man benützt dazu die ersten Buchstaben des Alphabets. Im Hex-System kann also jede Stelle mit einer der Ziffern {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F} belegt werden: Der Vergleich mit der obigen binären Darstellung der Dezimalzahl 157 = (1001 1101)b zeigt die Verwandschaft zwischen binärer und Hex-Darstellung: die Hex-Ziffern "9" und "D" tauchen als in der Folge "1001 1101" wieder auf, und zwar als "Halb-Bytes" in Binärdarstellung: Man sieht: jedes Byte kann im Hexsystem als eine höchstens 2-stellige Zahl dargestellt werden. Ist der Wert des Byte kleiner als 16, dann genügt eigentlich 1 Byte. Üblicherweise stellt man dann aber eine führende Null voran, so dass also ein Byte immer als 2-stellige Hexzahl geschrieben wird.


Zum Abschluss wollen wir eine große Zahl vom Dezimalsystem ins Hexsystem umwandeln. Wir wählen die Zahl n = 4328859. Bei so großen Zahlen ist es sinnvoll, sich zunächst einmal die Stellenwerte des Zielsystems hinzuschreiben. Wir brauchen hier also die Stellenwerte des Hex-Systems, d.h. die Potenzen von 16:
Das genügt zunächst einmal, denn die nächstgrößere 16er-Potenz (166) liegt oberhalb von 16 Millionen und ist damit weit größer als unserer umzuwandelnde Zahl n = 4328859. Dann gehen wir schrittweise vor:
Unser Ergebnis ist also:
Die Dezimalzahl n = 4328859 lautet in Hex-Darstellung n = 420D9Bh.
Zu ihrer Speicherung würden also 3 Byte genügen, nämlich 42h, 0Dh und 9Bh.

Bei den folgenden Aufgaben sollten Sie der Versuchung widerstehen, die eigentliche Umrechnung zwischen den verschiedenen Stellenwertsystemen von Ihrem TR machen zu lassen! Natürlich können Sie den TR für die Nebenrechnungen benutzen; dass der TR aber schon selbst zwischen den verschiedenen Systemen umwandeln kann, das sollten Sie höchstens nachträglich benutzen, um die Ergebnisse Ihrer eigenen Berechnungen zu überprüfen!




Aufgaben:
  1. Übersetzen Sie die folgenden Zahlen "von Hand" vom Hex-System ins Dezimalsystem:
    03h, 0Ch, 24h, A0h, BBh, 3210h.

  2. Arbeiten Sie das obige Beispiel der Umwandlung einer großen Dezimalzahl in das Hex-System nochmals genau durch, und rechnen Sie die Rechnungen auf Ihrem TR nach. Machen Sie sich dabei auch genau klar, welche Bedeutung es hat, dass manche Zeichen(folgen) rot oder blau oder fett dargestellt sind!

  3. Übersetzen Sie die folgenden Dezimalzahlen "von Hand" ins Hex-System:
    12, 30, 127, 200, 12345.

  4. Stellen Sie die natürliche Zahl 97 als Byte im Dual- sowie im Hex-System dar.




1.2 Wieviel Information enthält eine Nachricht?

Kann man messen, wieviel Information in einer bestimmten Menge von Daten steckt? Die obigen Ausführungen zur binären Kodierung legen nahe, dass man dazu die Anzahl der Ja-Nein-Entscheidungen zählen muss, die zur vollständigen Bestimmung der transportierten Information nötig sind. Wir definieren:
Die Antwort auf die Frage "Haben Sie am letzten Samstag einen Sechser im Lotto gehabt?" transportiert eine weit geringere Datenmenge als 1 Bit, weil die Wahrscheinlichkeit, dass der Befragte immer noch kein Lotto-Millionär ist, überwältigend groß ist. In den Fällen, wo "Ja" und "Nein" nicht gleichwahrscheinlich sind, wird also weniger als 1 bit übertragen.

Häufig werden Nachrichten in Form einer Serie von "Zeichen" transportiert, die aus einem bestimmten vorgegebenen Zeichenvorrat ("Alphabet") stammen. Als einfaches Beispiel betrachten wir die Menge der (Groß-)Buchstaben; zur Vereinfachung wollen wir annehmen, dass in unserer Nachricht alle Buchstaben gleich wahrscheinlich sind. Wieviel bit Information bekommt dann ein Empfänger, wenn wir ihm ein Wort wie z.B. "INFO" übermitteln?

Zur Beantwortung dieser Frage untersuchen wir zunächst, wieviel bit mit der Übermittlung des ersten Buchstabens "I" verknüpft sind. Dazu denken wir uns die Menge der Buchstaben binär kodiert: das "A" trägt die Nummer 1, das "B" die Nummer 2, und so weiter, bis zum "Z", das die Nummer 26 trägt. 26 ist in Binärdarstellung "11010b", also eine 5-stellige Binärzahl. Um das "I" eindeutig zu beschreiben, müssen wir also eine 5-stellige Binärzahl, nämlich "01001b" übermitteln. Wir brauchen dazu 5 bit - und das ist die Datenmenge, die in diesem Buchstaben "I" enthalten ist. Jeder andere Buchstabe transportiert ebenfalls die Datenmenge 5 bit, das Wort "INFO" also insgesamt die Datenmenge 20 bit.

Wir haben vorausgesetzt, dass alle Buchstaben gleich wahrscheinlich sind, was sicher nicht stimmt. Zudem sind die Buchstaben in einer Nachricht nicht voneinander unabhängig: z.B. folgt in einem deutschen Text nach der Zeichenfolge "BR" mit hoher Wahrscheinlichkeit ein Vokal. All diese Effekte führen dazu, dass die mit dem Wort "INFO" transportierte Datenmenge in Wirklichkeit kleiner ist als 20 Bit. Die Bestimmung des genauen Wertes ist jedoch mathematisch recht anspruchsvoll, sodass wir uns in der Regel damit zufrieden geben, eine obere Grenze für die Datenmenge anzugeben.

In diesem Beispiel haben wir den möglichen Zeichenvorrat noch gar nicht voll ausgeschöpft: den Binärzahlen "11011b" bis "11111b" sind noch keine Zeichen zugeordnet, und der "00000b" ebenfalls noch nicht. Diese noch freien Zahlen können wir verwenden, um z.B. Satzzeichen und das Leerzeichen zu kodieren. Wir können mit 5 bit insgesamt 32 = 25 Zeichen sicher voneinander unterscheiden.

Für gleichwahrscheinliche Zeichen gilt allgemein:



Aufgaben:
  1. Wenn wir im obigen Beispiel des Buchstaben-Alphabets dem "A" die Zahl 1, dem "B" die Zahl 2, dem "C" die Zahl 3 usw. zuordnen, dann braucht man doch zur binären Darstellung der 1 gar keine 5 Binärstellen, sondern nur eine: 1 = "1b"! Bei 2 und 3, also "B" und "C" braucht man immerhin nur zwei: 2 = "10b" bzw. 3 = "11b".
    Warum liefert die Übertragung eines "A" trotzdem die Datenmenge 5 Bit? Warum wird man bei der Übermittlung eines "A" eben doch ausdrücklich "00001b" senden?




1.3 Beispiele für Datenmengen:

1.3.1 Wieviel bit hat ein Schlüssel?


1.3.2 Die Datenmenge eines Messwerts


1.3.3 Zahlen raten


1.3.4 Datenmengen in der Musik


Aufgaben:
  1. Es gibt ungefähr 3200 verschiedene Postleitzahlen (im Bereich der Deutschen Bundespost).Wie groß ist die Datenmenge, die von einer Postleitzahl getragen wird?

  2. Wie groß die Datenmenge ist, die von einer Telefonnummer getragen wird, hängt davon ab, ob man die Nummer aus einem Ortsnetz, aus dem nationalen Netz oder dem internationalen Netz auswählt. Schätze die Datenmenge einer Telefonnummer aus einem Ortsnetz mit 10 000 Anschlüssen ab.

  3. Die chinesische Schrift kennt sehr viele verschiedene Zeichen. Normalerweise benutzt man etwa 2000. Wie viel bit trägt ein Schriftzeichen, wenn man von dieser Zahl ausgeht?

  4. Ein Zaubertrick mit Karten:
    Man benutzt 16 verschiedene Karten eines beliebigen Kartenspiels. Der Zauberer lässt einen Zuschauer eine Karte ziehen. Der Zuschauer betrachtet die Karte so, dass sie der Zauberer nicht sehen kann. Die Karte wird wieder in das Kartenspiel gesteckt, und die Karten werden gemischt. Der Zauberer deckt nun die Karten, eine nach der anderen auf. Dabei legt er sie auf vier verschiedene Stapel: eine Karte auf den ersten, die nächste auf den zweiten, eine auf den dritten, eine auf den vierten, dann wieder eine auf den ersten usw., bis alle 16 Karten auf dem Tisch liegen. Der Zuschauer muss nun sagen, auf welchem der vier Stapel seine Karte liegt. Der Zauberer macht dann aus den vier Stapeln wieder ein Paket und breitet die Karten noch einmal auf dieselbe Art aus wie vorher, d.h. in vier Stapeln , und noch einmal sagt der Zuschauer, auf welchem Stapel seine Karte liegt. Der Zauberer kennt jetzt die Karte, die sich der Zuschauer gemerkt hat. Er packt die vier Stapel wieder zusammen und blättert dann eine Karte nach der anderen auf, bis er zu der Karte kommt, die sich der Zuschauer gemerkt hatte.
    Welche Datenmenge muss der Zauberer bekommen, um eine von 16 Karten zu identifizieren? Wie viel bit bekommt er jedes Mal, wenn der Zuschauer den Stapel bezeichnet, in dem sich die Karte befindet? Wie funktioniert der Trick?





1.4 Das Shannon'sche Informationsmaß

Es folgt ein Abschnitt für Leute, die keine Angst vor der Mathematik haben:

Gegeben sei eine Menge {x1, x2, ... xN} von N Zeichen; das Zeichen xi soll mit der Wahrscheinlichkeit pi in einem Datenstrom vorkommen. Für den allgemeinen Fall, dass nicht alle Zeichen gleich wahrscheinlich sind, wird das "Shannon'sche Informationsmaß H" (kurz: die "Datenmenge") eines Zeichens wie folgt definiert: Sind nun aber alle Symbole gleichwahrscheinlich, dann ist die Wahrscheinlichkeit für jedes einzelne der Zeichen gegeben durch (1/N). Damit erhält man aus der Definition: Dies ist genau derselbe Term, den wir oben im Fall der Gleichwahrscheinlichkeit aller Zeichen benutzt haben. Die allgemeine Definition der Datenmenge schließt also den oben anschaulich begründeten Spezialfall mit ein.

Wir wollen zumindest mit einer Stichprobe nachprüfen, ob sich bei Abweichung von der Gleichverteilung wirklich kleinere Datenmengen ergeben. Nehmen wir dazu das kleinste mögliche Alphabet, nämlich {0, 1}. Falls beide Werte dieselbe Wahrscheinlichkeit haben, transportiert jedes Zeichen aus diesem Alphabet 1 Bit. Wir nehmen nun an, dass p("0") = 0,75 und p("1") = 0,25. Dann liefert die Shannon'sche Formel:


Dies ist weniger als 1 bit. Es scheint also wirklich so zu sein, dass die einfache Formel H = ld(N) eine obere Schranke für die Datenmenge darstellt, welche durch ein Zeichen aus einem Alphabet mit N Zeichen transportiert werden kann. Einen allgemeinen Beweis dafür können wir hier aber nicht führen.



Zum Inhaltsverzeichnis Zum nächsten Kapitel