Speicherangaben und Übertragungsraten

Wenn man sich mit Computertechnik beschäftigt, dann stellt man immer wieder fest, das ein Gigabyte (GByte) nicht unbedingt ein Gigabyte (GByte) ist. Das hat eine einfache Ursache. Es liegt an den unterschiedlichen Zahlensystemen, die der Mensch und der Computer benutzen. Während wir im Dezimalsystem (0 bis 9) rechnen, kennen Computer nur die Zustände "1" und "0".

Fast jeder Mensch weiß, dass ein Kilogramm 1.000 Gramm sind. Ebenso weiß fast jeder, dass ein Kilobyte 1.024 Byte sind. Während Kilogramm auf dem dezimalen Zahlensystem basiert, basiert Kilobyte auf dem dualen Zahlensystem.
Um den Umgang mit großen Zahlen zu erleichtern, wurden Einheitenvorzeichen, die Präfixe, eingeführt. In beiden Zahlensystemen wird Kilo, Mega, Giga usw. als Vielfache verwendet.

Präfix Symbol (SI) Bedeutung (SI) Bedeutung (IT) Differenz
Kilo k 103 1.000 210 1.024 2,4% 24
Mega M 106 1.000.000 220 1.048.576 4,9% 48.576
Giga G 109 1.000.000.000 230 1.073.741.824 7,4% 73.741.824
Tera T 1012 1.000.000.000.000 240 1.099.511.627.776 10,0% 99.511.627.776

Bei der Angaben oder Nennung einer Speicherkapazität oder Übertragungsrate stellt sich die Frage, wurde mit binären Kilobyte (1.024 Byte) oder dezimalen Kilobyte (1.000 Byte) gerechnet. Bei Datenraten und Übertragungsgeschwindigkeiten rechnet man üblicherweise mit der 10 als Basis (Dezimalzahl). Bei Speicherkapazitäten rechnet manchmal mit der 2 (Dualzahl) und manchmal mit der 10 als Basis (Dezimalzahl).

Beispiele für die Konfusion bei den Speicherangaben und Übertragungsraten

Die folgenden Beispiele zeigen, wie man sich bei Speicherkapazitäten und Übertragungsraten täuschen kann.

Beispiel 1: Eine 500-GByte-Platte wird vom Computer als Festplatte mit nur 476.938 MByte (binär gerechnet) erkannt. Man könnte meinen, der Hersteller hat den Käufer übers Ohr gehauen. Doch der Hersteller hat richtige Angaben gemacht. Denn 500 GByte sind 500 Milliarden Byte (dezimal gerechnet) und die fasst das Laufwerk auch. Fälschlicherweise gibt das Betriebssystem die Größe in MByte an. So entspricht 1 MByte 1.024.000 Byte und nicht etwa 1.048.576 Byte. Diese Kapazitätsangabe geht bis auf die Zeit zurück, als es noch Disketten gab.
Doch Anbieter von Massenspeichern rechnen anders. Für sie ist 1 kByte = 1.000 Byte und 1 MByte = 1.000.000 Byte. So werden zum Beispiel aus 2 GByte (= 2 x 230 Byte), was 2.147.483.648 Byte sind, dezimal gerundete 2,1 GByte. Und warum macht man das so? Es sieht nach mehr aus.
Das bedeutet, wer eine 500-GByte-Festplatte kauft, der kauft eigentlich eine 476.938-MByte-Festplatte.

Beispiel 2: Basiert die Angabe von 120 GByte auf dem dezimalen oder dualen Zahlensystem? Logischerweise müsste es das duale Zahlensystem sein, wenn schon von GByte die Rede ist. Doch dem ist nicht so. Die Angabe von 120 GByte sind 120 Milliarde Byte (dezimal gerechnet) und nicht wie man annehmen könnte 128,8 Milliarden Byte (binär gerechnet). Es fehlen theoretisch 8,8 GByte. Wo sind die hin? Nirgendwo. Sie fehlen nicht. Die Angabe von 128,8 Milliarden Byte basiert auf einer falschen Rechnung.

Beispiel 3: Ein 56k-Modem überträgt tatsächlich 56,6 kBit/s. Falsch wäre es 56,6 x 1.024 = 57.958 Bit/s zu rechnen. Es sind tatsächlich dezimal 56.600 Bit.

Beispiel 4: Eine 1,44-MByte-Diskette hat tatsächlich eine Speicherkapazität von 1.440 binären kByte. Je nach Rechenmodell sind es also entweder 1,41 oder 1,47 MByte.

Beispiel 5: Der PCI-Bus hat eine Bandbreite von 133 MByte. Rechnet man nach, dann ergeben 33,3 MHz (binär) mal 32 Bit Busbreite insgesamt 133.333.333 Byte/s. Dezimal gerechnet wäre das 133,3 MByte/s. Binäre gerechnet wäre es aber nur 127,2 MByte/s.

Beispiel 6: Ein DVD-Rohling ist mit 4,7 Gigabyte Kapazität gekennzeichnet. Das Betriebssystem zeigt aber nur 4,38 GB Speicherplatz an. In gewisser Weise ist beides richtig. Die Abweichungen bei den Angaben zum Speicherplatz rühren daher, dass Rohling-Hersteller und Software-Programmierer auf zwei unterschiedlichen Arten rechnen.

Beispiel 7: Ein DSL-Anschluss wird mit bis zu 16 MBit/s beworben. Das bedeutet, dass dieser DSL-Anschluss bis zu 16 Millionen Bit bzw. 16.000.000 Bit pro Sekunde übertragen kann.

Hintergrund des Problems

Das eigentliche Problem ist der Unterschied, wie Binärzahlen berechnet werden. So könnte ein Kilobyte 1.000 Byte oder 1.024 Byte entsprechen. Dieser Unterschied zwischen 1.000 und 1.024 liegt bei 2,4 Prozent. Im Laufe der Zeit verschob sich die Leistung von Speicher und Übertragungstechnik vom Kilo- in den Giga-Bereich. Auf einmal wurde die Differenz zwischen dezimaler und binärer Berechnung zu groß. Heutige Speicherangaben und Übertragungsgeschwindigkeiten werden in der Regel in Gigabyte (GByte) angegeben. Wenn falsch gerechnet wird, dann merkt man den Unterschied schon sehr deutlich. Wie deutlich, haben die oberen Beispiele gezeigt.

Alle Einheiten in der Informatik basieren auf dem Dualsystem. Das heißt, Zahlen mit Potenzen von Zwei, bestehend aus zwei Zuständen. Wie AN und AUS oder 1 und 0. So wird der Zustand der Transistoren in Halbleitern wie Prozessoren und Speicher nachgebildet. Das heißt, man beziffert Datenmengen seit Jahrzehnten mit Dualzahlen. Menschen, die sich mit Informatik beschäftigen haben sich deshalb an das Dualsystem gewöhnt. Wenn also Techniker im dualen Zahlensystem rechnen und dann Präfixe, wie Kilo, Mega und Giga verwenden, dann folgen sie damit einer langjährigen Vorgehensweise in der Informationstechnik.

Doch der Rest der Welt rechnet anders. Nämlich mit dem Dezimalsystem. Das heißt, 10, 100, 1000 und so weiter. Jedes Kind weiß, ein Kilometer hat nicht 1024, sondern 1000 Meter, und eine Tonne entspricht auch nicht 2 hoch 20 Gramm, sondern 10 hoch 6, also einer Million Gramm. Gewichte und Entfernungen sind mit dezimalen Maßeinheiten angegeben.

Das Problem hat aber auch mit der Nichteinhaltung von Standards zu tun. Die Bedeutung der Präfixe Kilo, Mega und Giga sind im Internationalen Einheitensystem verbindlich festgelegt. Und das auf Basis des dezimalen Zahlensystems. Die Verwendung der Präfixe Kilo, Mega, Giga usw. für binäre Einheiten ist unzulässig.
Die Nichteinhaltung des Standards war anfangs nicht weiter schlimm. Man gewöhnte sich schnell daran, dass die Zahlen, je nach dem, wie sie gerechnet wurden anders ausfielen. In der Regel einigte sich die Fachwelt schnell auf eine Angabe, egal ob richtig oder falsch. Im Zweifelsfall wurde einfach gerundet oder die jeweils größere Zahl verwendet. Ganz nach dem Motto: Was nicht passt, wird eben passend gemacht. Die Marketing-Abteilungen, meist technikfern, haben sicherlich ihren Beitrag dazu geleistet.

Lösung des Problems

Diesen Umstand hat die International Electrotechnical Commission (IEC) auf den Plan gerufen, dass Ende der 90er Jahre ein eigenes System für die Bezeichnung von binären Maßeinheiten entwickelte, den so genannten Binärpräfixen.
Die IEC lehnte sich dabei eng an das SI-System an. Die Präfixe Kilo, Mega, Giga usw. erhalten eine angehängte Silbe "bi" für Binär. Statt kByte und MByte also Kibibyte und Mebibyte. 1.000 Byte bleiben dabei ein Kilobyte, während 1.024 Bit als ein Kibibyte bezeichnet wird. 106 Bit sind weiterhin ein Megabit, während 220 Bit ein Mebibit sind.
Das entsprechende Symbol für die Einheit wird um ein "i" erweitert (aus dem bi für binär). Statt kB und MB, also KiB und MiB.
Die SI-Präfixe gelten auch weiterhin, allerdings ausschließlich auf Basis des Dezimalsystems.

Präfix Symbol Bedeutung SI-Einheit Umrechnung
  b Bit   - -
  B Byte   - 8 b = 1 B
Kibi Ki 210 1.024 Kilo (k) 1 KiB = 1,02 kB
Mebi Mi 220 1.048.576 Mega (M) 1 MiB = 1,05 MB
Gibi Gi 230 1.073.741.824 Giga (G) 1 GiB = 1,07 GB
Tebi Ti 240 1.099.511.627.776 Tera (T) 1 TiB = 1,10 TB
Pebi Pi 250 1.125.899.906.842.624 Peta (P) 1 PiB = 1,13 PB
Exbi Ei 260 1.152.921.504.606.846.976 Exa (E) 1 EiB = 1,15 EB

Dieses System ist seit 2000 im Standard IEC 60027-2 fest integriert. Die Akzeptanz zur Verwendung des IEC-Standards und somit zur eindeutigen Bezeichnung hält sich jedoch in Grenzen. Weder die Techniker, noch die Fachpresse mag die neuen Bezeichnungen verwenden. Tatsache ist, dass es sich bei den IEC-Bezeichnungen um einen internationalen Standard handelt. Doch wie es nun mal so ist, Standards sind Empfehlungen. Man kann sich daran halten, muss es aber nicht.

Vergleichstabelle: SI- und IEC-Einheiten

Einheit Basis 2 Basis 10
Bit (b) 1 Bit = 1 Bit 1 Bit = 1 Bit
Byte (B) 1 B = 8 Bit 1 B = 8 Bit
Kilobit (kBit/kB) 1 kBit = 1024 Bit 1 kBit = 1000 Bit
Kibibit (KiBit) 1 KiBit = 1024 Bit  
Kilobyte (kByte/kB) 1 kB = 1024 Byte 1 kB = 1000 Byte
Kibibyte (KiB) 1 KiB = 1024 Byte  
Megabit (MBit/Mb) 1 MBit = 1024 KBit 1 MBit = 1000 kBit
Mebibit (MiBit/Mib) 1 Mib = 1024 KiBit  
Megabyte (MB) 1 MB = 1024 kB 1 MB = 1000 kB
Mebibyte (MiBit/MiB) 1 MiB = 1024 KiB  
Gigabit (GBit/Gb) 1 GBit = 1024 MBit 1 GBit = 1000 MBit
Gibibit (GiBit/Gib) 1 Gib = 1024 MiBit  
Gigabyte (GB) 1 GB = 1024 MB 1 GB = 1000 MB
Gibibyte (GiB) 1 GiB = 1024 MiB  
Terabyte (TB) 1 TB = 1024 GB 1 TB = 1000 GB
Tebibyte (TiB) 1 TiB = 1024 GiB  

Abweichungen bei der Angabe der Speicherkapazität von Festplatten in Betriebssystemen

Wenn die Betriebssysteme Windows und MacOS für eine Speicherangabe "GB" verwenden, dann meinen sie eigentlich "GiB". Die Hersteller von Festplatten, Speicherkarten und USB-Sticks hingegen nutzen ausschließlich das Dezimalsystem.
Hier stellt sich berechtigt die Frage, warum man nicht einfach die Betriebssysteme dem neuen Standard anpasst. Doch das ist nicht so einfach. Alle Vorgänger-Systeme und Programme nutzen von Anfang an das Binärsystem. Eine Umstellung wäre eine riesige Aufgabe und könnte zu enormen Problemen führen, deren Ausmaß kaum abzusehen ist. So könnten alte Programme plötzlich ungültig sein oder womöglich abstürzen.