Um Informationen in einem Rechner verarbeiten zu können, benötigen wir erst eine Möglichkeit diese Informationen physikalisch einfach darzustellen. Dies läßt sich sehr leicht über unterschiedliche Spannungszustände realisieren, beispielsweise +3 und -3 Volt. Dargestellt werden diese beiden Zustände dann als 1 und 0. Oft werden auch die Bezeichnungen „wahr“ (true) und „falsch“ (false) oder an und aus als Synonyme verwendet.
Bei dieser Zustandsbeschreibung handelt es sich um die kleinste Informationseinheit, die mit dem Begriff Bit bezeichnet wird.
Das Bit ermöglicht es uns jetzt beliebige Informationen zu kodieren. Dazu müssen wir mehrere Bits miteinander kombinieren um alle möglichen Zustände beschreiben zu können. Bereits bekannt ist ja die Möglichkeit die Zustände an und aus über ein Bit darzustellen:
0 | aus |
1 | an |
Nun wollen wir jedoch mehr als nur zwei Zustände darstellen, beispielsweise die vier Himmelsrichtungen Norden, Osten, Süden und Westen. Dies können wir nicht mehr mit einem einzelnen Bit realisieren, weshalb wir ein zweites kombinieren:
00 | Norden |
01 | Osten |
10 | Süden |
11 | Westen |
So lassen sich nun Unmengen von Informationen durch geeignet lange Bit-Reihen darstellen. Jedes angefügte Bit verdoppelt die Anzahl der beschreibbaren Zustände, d.h. n Bit = 2n Zustände.
Anzahl Bits | Darstellbare Zustände |
1 | 2 |
2 | 4 |
3 | 8 |
4 | 16 |
5 | 32 |
6 | 64 |
n | 2n |
Um die Anzahl der benötigten Bits bei x Zuständen zu ermitteln lässt sich natürlich der Logarithmus von x zur Basis 2 bestimmen. Sofern es sich dabei nicht um eine ganze Zahl handelt, müssen wir natürlich zur nächsten ganzen Zahl aufrunden. In einem solchen Fall können wir sogar mehr Zustände darstellen als wir eigentlich benötigen, was sich jedoch nicht vermeiden lässt.
Darzust. Zustände n | log2n | Nötige Bits m | Mögl. Zustände mit m Bit |
2 | 1 | 1 | 2 |
4 | 2 | 2 | 4 |
7 | ~2,807 | 3 | 8 |
8 | 3 | 3 | 8 |
10 | ~3,322 | 4 | 16 |
Lassen wir uns das ganze einmal an Hand eines Beispiels betrachten. Dazu versuchen wir, ein Schachbrett mit Bits darzustellen.
1. Erfassung der Figuren
Es gibt Bauern, Türme, Springer, Läufer, die Dame und den König, also 6 verschiedene Figuren. log26~=2,58, also benötigen wir 3 Bit zur Darstellung der Figuren.
2. Erfassung der Position
Da ein Schachbrett 8 mal 8 Felder umfasst gibt es 64 verschiedene Positionen die unsere Figuren einnehmen könnten. Daraus lässt sich folgern, dass wir exakt 6 Bits zur Darstellung der Position benötigen.
3. Schwarz oder weiß?
Im Schach unterscheiden wir zudem, ob die Figur schwarz oder weiß ist. Für diese zwei Zustände benötigen wir also nochmal ein Bit.
4. Vollständige Darstellung
Zur Erfassung einer Figur benötigen wir also 1 (Farbe) + 3 (Figur) + 6 (Position) = 10 Bits. Um das gesamte Brett mit seinen 32 Figuren zu beschreiben sind also 32*10 = 320 Bits erforderlich.
Schon am vorhergehenden Beispiel sieht man leicht, dass schnell sehr viele Bits benötigt werden. Um die Arbeit zu erleichtern gibt es Namenskonventionen um größere Bitmengen zu beschreiben:
1 Bit | kleinste Informationseinheit | |
1 Nibble | 4 Bits | selten verwendet |
1 Byte | 8 Bits | z.B. ein ASCII Zeichen, siehe unten |
1 Word | 32 oder 64 Bits | Abhängig von der Registerbreite der CPu (Stichwort 32 und 64 Bit CPUs) |
1 kiloByte | 210 Byte = 1024 Byte |
1 MegaByte | 220 Byte = 1024 kiloByte |
1 GigaByte | 230 Byte = 1024 MegaByte |
1 TeraByte | 240 Byte = 1024 GigaByte |
1 PetaByte | 250 Byte = 1024 TeraByte |
1 ExaByte | 260 Byte = 1024 PetaByte |
Ein ExaByte steht somit für 9223372036854775808 Bits, also für 29223372036854775808 Zustände.
Dateien sind eigentlich nichts anderes als beliebige Bitfolgen. Um die Zuordnung zu erleichtern wird in der Regel der Typ der Datei in ihrem Namen angegeben. So können .doc Dateien z.B. Word und .pdf Dateien dem Adobe Reader zugeordnet werden.