
Da Speicher für den Computer immer günstiger und damit auch größer geworden ist, hat sich die Unsitte verbreitet, Speicher als gegeben anzunehmen, und sich nicht mehr um Speichergrößen zu sorgen. In vielen Fällen gibt es dadurch dann leider doch Probleme. Als Beispiel seien große eMails zu nennen, deren Absender keine Ahnung von Speichergrößen und Übertragunsgeschwindigkeiten haben.
Diesen Teil der Erklärung könnt ihr überspringen, wenn er für euch nicht interessant ist....
Die Kleinste Informationseinheit im Computer ist ein sogenanntes 'Bit'. Es kann entwerder eine Null oder eine Eins speichern, mehr nicht - daher werden Computersysteme auch binäre Systeme genannt. Auf den Bits gründet sich nun die gesamte Rechenweise von Computern. Die nächst größere Einheit ist das Byte, das aus 8 Bits besteht. Ein Byte kann 256 verschiedene Zustände einnehmen, und damit eine Zahl von 0 bis 255 oder ein Textzeichen speichern: Wir kennen 26+3 Buchstaben jeweils in groß- und Kleinschreibung, dazu 10 Zahlen und einige Satzzeichen. Das macht insgesamt ca. 80 Zeichen, so daß ein Byte noch mehr Sonderzeichen und Steuerzeichen umfasst. Doch das ginge jetzt zu weit...
Wie funktioniert jetzt das Rechnen mit dem Binärcode? Dazu möchte ich kurz ausholen und unser Dezimalsystem erklären. In einer Zahl wie z.B. 2.359 gibt die letzte Ziffer die Einser an, die Ziffer daneben die Zehner, dann die Hunterter, usw. Jeder Ziffer in einer Zahl sind also gewisse Wertigkeiten zugeordnet. Ich zerlege als Beispiel im Folgenden einmal die Zweitausend-dreihundert-neunund-fünfzig. Die von mir gewählt Schreibweise ist nicht ganz willkürlich, da man dabei schon die Zerlegung in die Zehnerpotenzen sieht (daher auch 'Dezimalsystem'):
Vierte Ziffer: |
Dritte Ziffer: |
Zweite Ziffer: |
Erste Ziffer: |
|
| Ziffer: | 2 |
3 |
5 |
9 |
| Wertigkeit: | 1000 |
100 |
10 |
1 |
| Potenz: | 10 hoch 3 |
10 hoch 2 |
10 hoch 1 |
10 hoch 0 |
| Wert | 2 * 1000 "zweitausend" |
3 * 100 "dreihundert" |
5 * 10 "fünfzig" |
9 * 1 "neun" |
Abgesehen davon, daß ich die rechte Ziffer als erste Ziffer angebe, wird denke ich recht deutlich, daß die linke Ziffer immer die 10-fache Wertigkeit ihrer rechten Nachbarin hat.
Das Binärsystem funktioniert genau so, nur daß die Basis der Potenz nicht 10 sondern 2 ist (also ein Bit!). Entsprechend ändern sich auch die Wertigkeiten der einzelnen 'Ziffern' (die nur Null oder Eins sein können). Jedes Bit hat somit nicht die zehn- sondern nur die zweifache Wertigkeit des vorhergehenden Bits! Ich stelle jetzt die Dezimalzahl 109 binär dar:
Bit 8: |
Bit 7: |
Bit 6: |
Bit 5: |
Bit 4: |
Bit 3: |
Bit 2: |
Bit 1: |
|
| 'Ziffer': | 0 |
1 |
1 |
0 |
1 |
1 |
0 |
1 |
| Wertigkeit: | 128 |
64 |
32 |
16 |
8 |
4 |
2 |
1 |
| Potenz: | 2 hoch 7 |
2 hoch 6 |
2 hoch 5 |
2 hoch 4 |
2 hoch 3 |
2 hoch 2 |
2 hoch 1 |
2 hoch 0 |
| Wert: | 0 * 128 = 0 |
1 * 64 = 64 |
1 * 32 = 32 |
0 * 16 = 0 |
1 * 8 = 8 |
1 *4 = 4 |
0 * 2 = 0 |
1 * 1 = 1 |
Die Rückrechnung ist anhand der Tabelle ganz einfach: man addiert die Wertigkeiten der Bits:
0*128 + 1*64 + 1* 32 + 0*16 + 1* 8 + 1 * 4 + 0 *2 + 1 * 1 = 109 (Dezimal)
Somit wird auch klar, warum ein Byte genau 256 'Zustände', also mögliche Bit-Kombinationen hat: wenn man die Wertigkeiten der acht Bits addiert, dann kommt man auf 128+64+32+16+8+4+2+1 = 255. Was noch fehlt ist die codierte Null, also der Zustand, wenn alle Bits Null sind. Somit gibt es insgesamt 256 Kombinationen für 8 Bits.
Für den Computer sind also alle Informationen irgendwelche Bytes mit irgendwelchen Inhalten. Für Bytes gibt es nun Zuordnungen in Tabellen, welche der 256 Zahlen in einem Byte nun z.B. dem Buchstaben 'A' entspricht, und welche Zahl das 'O' ist. Statt Textzeichen könnte der Computer auch einfach die Byte-Werte ausgeben, ein Text wäre dann eine Folge von Zahlen bis 255. Aber wer könnte das noch lesen!?
Alles klar, wir wissen nun, wie der Computer mit der Grundeinheit, den Bits, unsere dezimalen Zahlen abbildet, und was ein Byte ist.
Hier wird es wichtig und anschaulich!
Dateigrößen werden im Computer in 'Bytes' angegeben. Ein Byte kann, wie bereits erläutert, genau ein Textzeichen, Steuerzeichen (z.B. 'Enter') oder eine einzelne Ziffer enthalten. Der Satz "Hallo Du!" hätte insgesamt 9 Bytes, da er 7 Buchstaben und zwei Zeichen (Leerzeichen und Ausrufezeichen) enthält. Der Speicherbedarf für einen Text lässt sich also leicht in Bytes zählen: Man nehme die Anzahl der Tasten, die ihr beim Schreiben gedrückt habt und ist damit fertig. :-) Damit man nicht von Millionen und Milliarden Bytes sprechen muss, wurden die Bezeichnungen Kilo-, Mega-, Giga- und TeraByte eingeführt. Die Umrechnung ist ganz einfach: immer mit 1024 (oder grob über den Daumen mit 1000) multiplizieren:
| Einheit: | Entsprechung: | Beispiel für Dimension: |
| 1 Byte | (= 8 'Bit') | Ein Zeichen/Ziffer |
| 1 Kilobyte | 1024 Bytes | 1024 Zeichen; Ein Text-Absatz |
| 1 Megabyte | 1024 Kilobyte | Eine Million Zeichen; Ein Buch |
| 1 Gigabyte | 1024 Megabyte | Eine Milliarde Zeichen; Tausend Bücher |
| 1 Terabyte | 1024 Gigabyte | Eine Million Bücher |
Eine durchschnittliche eMail mit kurzem Text benötigt z.B. ca. 3 Kilobyte Speicherplatz.
Ganz einfach: 1024 ist ein genaues Vielfaches von Zwei (2 hoch 10). Da man möglichst keine Informationen verschenken möchte, zählt man Größen in genauen Vielfachen von zwei. Gegenbeispiel: Um die Zahl 1000 binär darstellen zu können (wir erinnern uns: das Bit ist die Grundeinheit unserer heutigen Computer), benötigt man 10 Bit, die in ihrer Wertung zusammen gerechnet aber schon 1024 Zustände darstellen können. Warum also sollte man diese Information verschwenden?
So fällt beim Blick auf Memorysticks auch auf, daß diese dem Muster 128 MB, 265 MB, 512 MB, 1024 MB, 2048 MB [...] folgen, der nächst Größere ist also immer doppelt so groß ist wie der Vorherige.
Wer jetzt Spaß an dem Thema bekommen hat und mehr Informationen sucht, wird z.B. bei Wikipedia zum Thema Bit und auch zum Thema Datenmenge fündig.
Aktualisiert am 26.02.2007
Andreas Loh