1 Bits und Bytes
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
1*27 + |
0*26 + |
0*25 + |
1*24 + |
1*23 + |
1*22 + |
0*21 + |
1*20 = |
|
128 + |
0 + |
0 + |
16 + |
8 + |
4 + |
0 + |
1 = |
157 |
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.:
1011b = 1*23 + 0*22 + 1*21 + 1*20 = 8 + 2 + 1 = 11
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:
23h = 2*161 + 3 * 160 = 2*16 + 3*1 = 35
104h = 1*162 + 0*161 + 4*160 = 1*256 + 0*16 + 4*1 = 260
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:
1Dh = 1*161 + 13*160 = 1 * 16 + 13 = 29
FFh = 15*161 + 15*160 = 15*16 + 15 = 255
und umgekehrt:
157 = 9 * 16 + 13 = 9*161 + 13*160 = 9Dh
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:
9h = 9 = 1001b und Dh = 13 = 1101b
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:
n |
0 |
1 |
2 |
3 |
4 |
5 |
.... |
16n |
1 |
16 |
256 |
4096 |
65536 |
1048576 |
.... |
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:
- Die größte 16er-Potenz, die noch in unserer Zahl n enthalten ist, ist also 165 = 1048576. Diese ist 4-mal in n = 4328859 enthalten, was die Hex-Ziffer 4 liefert. Die gesuchte Hexzahl beginnt also mit der höchstwertigen Ziffer 4.....h
- Nun berechnen wir den Rest n1, den wir noch weiter bearbeiten müssen:
n1 = n - 4h * 1048576 = 4328859 - 4 * 1048576 = 134555
- Wir gehen zur nächstkleineren 16er-Pozenz, nämlich 164 = 65536. Diese Zahl ist 2-mal in n1 = 134555 enthalten und liefert damit die Hex-Ziffer 2. Damit erhalten wir als höchstwertige Hexziffern unserer gesuchten Zahl: 42....h
- Wir berechnen den Rest n2:
n2 = n1 - 2h * 65536 = 134555 - 2 * 65536 = 3483
- Die nächstkleinere 16er-Potenz ist 4096. Dies ist nicht in 3483 enthalten, was aber ebenfalls eine Hex-Ziffer liefert, nämlich 0h: denn 4096 ist 0-mal in 3483 enthalten! Damit wächst unser Hexzahl an auf: 420...h
- Eigentlich erübrigt sich hier eine Restberechnung, da n2 = 3483 ja schon kleiner ist als die aktuelle 16er-Potenz 4096. Formal können wir aber völlig analog zu den vorigen Schritten vorgehen:
n3 := n2 - 0h * 4096 = 3483 - 0 * 4096 = 3483
- Die nächstkleinere 16er-Potenz 162 = 256 ist in n3 = 3483 13-mal enthalten. Der (dezimale) Wert 13 wird im Hex-System durch die Ziffer D dargestellt. Unsere Hexzahl wächst also an auf 420D..h
- Der Rest n4 wird berechnet:
n4 := n3 - Dh * 256 = 3483 - 13 * 256 = 155
- Die nächstkleinere 16er-Potenz ist nun 161 = 16. Dies ist 9-mal in 155 enthalten, was die Hex-Ziffer 9 liefert. Unsere Hexzahl lautet nun also: 420D9.h
- Der Rest n5 wird berechnet:
n5 := n4 - 9h * 16 = 155 - 9 * 16 = 11
was uns die letzte Hex-Ziffer liefert, nämlich B, die Hex-Ziffer, die den (dezimalen) Wert 11 hat.
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.
Machen Sie sich klar, dass es reiner Zufall ist, dass die Ziffernfolgen für n im Dezimal- und im Hex-System beide mit "4" beginnen! Was bedeutet diese "4" in jedem der beiden Fälle?
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:
- Übersetzen Sie die folgenden Zahlen "von Hand" vom Hex-System ins Dezimalsystem:
03h, 0Ch, 24h, A0h, BBh, 3210h.
- 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!
- Übersetzen Sie die folgenden Dezimalzahlen "von Hand" ins Hex-System:
12, 30, 127, 200, 12345.
- Stellen Sie die natürliche Zahl 97 als Byte im Dual- sowie im Hex-System dar.
(Die folgenden Ausführungen sind dem inzwischen leider vergriffenen
Buch "Daten und Energie" von Prof. Friedrich Herrmann und
Dr. Peter Schmälzle entnommen.)
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:
1 bit ist die Datenmenge, die mit der Antwort auf eine
Ja-Nein-Frage übertragen wird, wenn die beiden möglichen
Antworten gleichwahrscheinlich sind.
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:
Beträgt die Zeichenzahl eines Alphabets 2n, dann werden bei der Übermittlung eines Zeichens aus diesem Alphabet n bit übertragen.
Hat umgekehrt ein Alphabet N verschiedene Zeichen, dann transportiert jedes Zeichen die Datenmenge ld(N) bit, wobei "ld" der Logarithmus zur Basis 2 ist.
Aufgaben:
- 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?
Jeder Schlüssel kann als Datenträger aufgefasst werden. Die Nachricht, die er trägt, entspricht der Vorschrift, wie ein bestimmtes Schloss geöffnet werden kann. Wenn ein Dieb in den Besitz eines Schlüssels kommt, ist das für ihn genauso wertvoll, wie wenn er in Erfahrung bringt, wie die Profile des betreffenden Schlüssels geschliffen sind.
Bei gewöhnlichen Hausschlüsseln gibt es eine bestimmte Zahl unterschiedlicher Formen. Von der Seite erkennt man, dass der Schlüssel 5 Kerben hat, die je nach Exemplar unterschiedlich tief geschliffen sind. Für jede dieser Kerben gibt es 16 verschiedene Tiefenstufen. Daher enthält jede Kerbe 4 bit, alle 5 Kerben zusammen also 5×4 bit = 20 bit. Außerdem haben verschiedene Schlüsselexemplare noch verschiedene Profile in Längsrichtung. Man sieht das, wenn man die Schlüssel in Längsrichtung von vorn betrachtet. Beim Schlüsseldienst kann man erfahren, dass es etwa 500 Arten von Rohlingen mit verschiedenen Längsprofilen gibt. Im Längsprofil stecken also noch einmal etwa 9 bit. Zusammen mit den Kerben ergibt das für den ganzen Schlüssel 29 bit.
Früher waren Haustürschlüssel viel einfacher, sie hatten weniger bit. Je mehr bit ein Schlüssel hat, desto sicherer ist er.
Manche Schlösser machen gar nicht mehr den Umweg über den Schlüssel: die Zahlenschlösser. Um ein Zahlenschloss zu öffnen, muss man die richtige Zahl wissen. Diese Zahl enthält eine bestimmte Datenmenge. Bei einem Fahrradschloss mit 3 Ziffern (jeweils von 0 bis 9) ist die Zeichenzahl 1000. Wenn man jemandem verrät, wie das Schloss aufgeht, bekommt er also eine Datenmenge von etwa 10 bit.
Eine andere Art Schloss findet man bei manchen Parkplätzen. Die Schranke an der Einfahrt wird mit einem magnetischen "Schlüssel" geöffnet. Wer auf den Parkplatz fahren will, braucht eine Karte, auf der sich ein Magnetstreifen befindet. Die Daten, mit denen der Schranke mitgeteilt wird, dass sie sich öffnen soll, sind hier genauso gespeichert, wie die Musik auf einer Tonbandkassette.
1.3.2 Die Datenmenge eines Messwerts
Wenn jemand eine Messung macht, bekommt er Daten über den Gegenstand, an dem er die Messung durchführt.
Eine Balkenwaage sei bis zu 5 kg belastbar. Der Gewichtssatz enthalte als kleinstes Gewichtsstück ein 1-g-Gewicht. Auf die Frage "Wie schwer ist der Gegenstand?" kann die Waage damit 5000 verschiedene Antworten geben. Die Zeichenzahl ist also 5000 und die Datenmenge, die mit der Antwort kommt, etwa 12 bit. Eine moderne Analysenwaage liefert bis zu 20 bit pro Wägung.
Um die Datenmenge zu berechnen, die man beim Ablesen einer "Analog"-Skala, wie z.B. der Skala eines Fieberthermometers, bekommt, muss man sich als erstes darüber klar werden, welche benachbarten Werte auf der Skala noch unterschieden werden können. Beim Fieberthermometer beträgt die Ablesegenauigkeit etwa 1/10 °C. Da der Messbereich von 35 bis 42 °C geht, ergibt sich eine Zeichenzahl von 70. Wenn jemand die Temperatur abliest, bekommt er also etwa 6 bit.
1.3.3 Zahlen raten
A denkt sich irgendeine (natürliche) Zahl aus einem vorgegebenen Bereich. B muss diese Zahl herausfinden, indem er A möglichst wenige Ja-Nein-Fragen stellt. Welche Strategie muss B verfolgen? Wie viele Fragen sind bei dieser Strategie ungefähr notwendig?
Beim Erraten einer Zahl von 1 bis 64 beginnt die schlechte Strategie mit der Frage "Ist es die 1?". Man sieht, dass man hier Glück oder Pech haben kann. Ist die gedachte Zahl tatsächlich die 1, so hat man sie mit einer einzigen Frage herausbekommen, man hat Glück gehabt. Ist die gedachte Zahl aber die 64, so braucht man 63 Fragen, man hat Pech gehabt.
Bei einer guten Strategie beginnt man z.B. mit der Frage "Ist die Zahl größer als 31?". Je nach der ersten Antwort folgt als zweite Frage dann "Ist die Zahl größer als 15?" bzw. "Ist die Zahl größer als 47?" usw.usw. Hier sind Glück und Pech ausgeschlossen: welches auch immer die gedachte Zahl ist, man braucht zum Erraten immer genau 6 Fragen!
( Beachten Sie, dass diese Fragenserie sozusagen die einzelnen Binärstellen der gesuchten Zahl erfragt, und zwar beginnend mit der höchstwertigen Stelle. Können Sie sich eine genau so gute Frageserie denken, bei der man die Binärstellen in der umgekehrten Reihenfolge in Erfahrung bringt? )
1.3.4 Datenmengen in der Musik
Wenn ein Musikstück gespielt und gehört wird, werden Daten übertragen. Der Spieler mit dem Instrument ist die Quelle, der Hörer der Empfänger.
Wir nehmen an, das Instrument sei ein Xylophon mit 15 Tönen. Es sollen nur Viertelnoten angeschlagen werden, wobei eine Viertelpause auch als Ton zählt. Werden alle Töne mit gleicher Wahrscheinlichkeit angeschlagen, so trägt jeder Ton 4 bit, andernfalls weniger.
Während man Musik hört, hat man eine bestimmte Erwartung darüber, welches wohl der nächste Ton sein wird. Bei einer Melodie, die so anfängt, wie es Bild 1 zeigt, erwartet man vielleicht, dass der nächste Ton ein c1 ist. Es ist unwahrscheinlich, dass z. B. ein f1 oder ein h1 folgt.
|
Bild 1. Welches ist der nächste Ton? |
Man kann nun feststellen, dass man ein Musikstück als unschön empfindet,
- wenn die Erwartung zu oft enttäuscht wird oder
- wenn die Erwartung zu oft erfüllt wird.
Wenn die Melodie nie so weitergeht wie man es erwartet, erscheint sie uns als chaotisch, oder "unverständlich". Dieser Fall liegt vor, wenn jeder Ton gleichwahrscheinlich ist, wenn also die Töne die maximale Bitzahl tragen. Geht dagegen die Tonfolge sehr oft so weiter wie man erwartet, so empfindet man sie als langweilig. In diesem Fall bekommt man mit jedem neuen Ton wenig bit, man kann ihn ja leicht im Voraus erraten.
Wir haben damit eine Regel für das Komponieren gefunden: Die Datenmenge darf nicht zu groß und nicht zu klein sein. (Das Wesentliche der Kunst des Komponierens ist damit allerdings noch nicht erfasst!) Die historische Entwicklung der Musik verlief übrigens so, dass die Datenmenge ständig zugenommen hat. Das erklärt, warum man die jeweils moderne Musik stets als schwerer verständlich empfunden hat, als die alte.
Aufgaben:
- Es gibt ungefähr 3200 verschiedene Postleitzahlen (im Bereich der Deutschen Bundespost).Wie groß ist die Datenmenge, die von einer Postleitzahl getragen wird?
- 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.
- 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?
- 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:
H = [ - p1 ld(p1 ) - p2 ld(p2 ) - p3 ld(p3 ) - ..... - pN ld(pN )] bit
mit :
N = Anzahl der möglichen Zeichen)
pi = Wahrscheinlichkeit für das Auftreten des Zeichens i
ld = Logarithmus zur Basis 2
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:
H = [ - 1/N · ld( 1/N ) - 1/N · ld( 1/N ) - 1/N · ld( 1/N ) - ..... - 1/N · ld( 1/N )] bit
{ mit N gleichen Summanden, also: }
= N · ( - 1/N · ld( 1/N ) = - ld ( 1/N ) = - ld ( N-1) = ld ( N )
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:
H = - 0,75 · ld(0,75) - 0,25 · ld(0,25) bit = 0,811... bit
{ Für die, die es seit der 10. Klasse wieder vergessen haben:
ld(x) = log2(x) = log10(x)/log10(2) }
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.