Von Kibibits und Gibibytes

30.01.2002 von Jörg Luther
Wie man Gramm und Meter misst, legt seit 40 Jahren das SI global verbindlich fest. Seit drei Jahren gibt es auch einen Standard für die binären Maße Bit und Byte. Er wird allseits fröhlich ignoriert.

Manche physiologische Tatsachen haben weit reichende Auswirkungen. So etwa auch das Faktum, dass die Spezies Homo über zehn Finger und ebenso viele Zehen verfügt. Als Homo sich zum sapiens aufschwang, begann er deshalb auf der Basis Zehn zu rechnen. Das drängte sich geradezu auf, lassen sich doch bei dieser Methode Finger und Zehen als allzeit parater Kalkulator einsetzen. In den Sprachen primitiver Völker enden denn die Zahlworte folgerichtig meist bei Zwanzig - alles darüber sind "Viele". Sogar ein rezenter Franzose sagt immer noch quatre-vingts - vier Mal zwanzig - wenn er achtzig meint.

Diese Zählweise mag natürlich erscheinen, hat aber mit der Natur nichts zu tun. Die hat keine Finger und Zehen und operiert auf einer einfacheren Zahlenbasis: der Zwei. Die befruchtete Eizelle teilt sich in zwei Zellen, vier, acht, sechzehn und so fort. Das Wachstum einer Population folgt demselben Schema. Ja oder Nein, Ein oder Aus, Sein oder Nichtsein - das ist buchstäblich universell. So gab die NASA den Voyager-Raumsonden binär kodierte Botschaften für die eventuellen extraterrestrischen Finder mit. Egal wie viele Finger, Pseudopodien oder Tentakel die Empfänger der Botschaft ihr Eigen nennen - mit Nullen und Einsen werden sie in jedem Fall rechnen können.

Auch Computer operieren bekanntlich mit dem Binärsystem. Deshalb könnte sich ein Informatiker wohl relativ problemlos mit Aliens verständigen. Mit seinen Mitmenschen dagegen hat er schon Schwierigkeiten, wenn es ums schlichte Zählen geht. Wie jedes Kind weiß, hat ein Kilogramm 1000 Gramm. Wie jeder Dipl.-Ing. weiß, hat ein Kilobyte 1024 Byte. Hier liegt offensichtlich ein semantisches Problem vor: Der eine zählt in Zehner-, der andere in Zweierpotenzen. Und beide gebrauchen dieselbe Nomenklatur für die Vielfachen: Kilo, Mega, Giga, und so weiter.

Geschichte der Missverständnisse

Wenn der Informatiker in Zweierpotenzen rechnet und dann für die Bezeichnung der Resultate Präfixe wie Kilo, Mega oder Giga verwendet, dann folgt er damit zwar einer eingefahrenen Tradition der IT. Genauer besehen treibt er jedoch schlicht Unsinn. Die Bedeutung dieser Bezeichnungen ist seit über 30 Jahren im so genannten Systeme International d'Unites verbindlich festgelegt - und zwar auf Dezimalbasis. Die Verwendung derselben Präfixe für binäre und dezimale Einheiten ist streng genommen unzulässig. Die teils beträchtliche Differenz der resultierenden Werte sorgt zusätzlich für Verwirrung.

SI- und IT-Präfixe im Vergleich

Präfix

Symbol (SI)

Bedeutung (SI)

Bedeutung (IT)

Differenz (Prozent)

Differenz (absolut)

kilo

k

10^3

2^10

2,4

24

mega

M

10^6

2^20

4,9

48.567

giga

G

10^9

2^30

7,4

73.741.824

tera

T

10^12

2^40

10,0

~100 Milliarden

peta

P

10^15

2^50

12,6

~126 Billionen

exa

E

10^18

2^60

15,3

~153 Billiarden

Wenn die Industrie etwa 40-Gigabyte-Festplatten liefert, die statt 42,95 nur 40 Milliarden Byte Kapazität aufweisen, kann sie sich dabei zu Recht auf den SI-Standard berufen. Der Anwender dagegen ärgert sich über die gut 2,7 "fehlenden GByte". Leicht gerät man auch in Gefahr, "Äpfel und Birnen" zu vergleichen - etwa bei Bandbreitenangaben. Ein klassischer PCI-Bus hat eine Bandbreite von 133,3 MByte. So steht es wenigstens überall zu lesen. Doch Vorsicht: Hier werden (dezimale) MHz mit (binären) MByte zusammen verarbeitet. Rechnen wir doch einmal kurz nach: 33,3 MHz mal 32 Bit macht 133.333.333 Byte/s. Das sind zwar 133,3 dezimale MByte/s, aber nur 127,2 binäre MByte/s.

Noch schlimmer: Selbst innerhalb der IT misst man des Öfteren mit zweierlei Maß. So gibt der Netzwerker die Leitungsgeschwindigkeit in binären Mbit/s an, sein Kollege aus der Telekommunikationssparte dagegen in dezimalen kbit/s. Ein 56,6-kbit/s-Modem übertragt also nicht 56,6 * 1024 = 57.958 Bit pro Sekunde, sondern eben nur 56.600. Völlig wüst wird es schließlich bei der so genannten 1,44-MByte-Diskette. Sie hat tatsächlich eine Kapazität von 1440 binären KByte, also je nach Rechenmodell von entweder 1,41 oder 1,47 MByte.

kibi, mebi und Konsorten

Der jahrzehntelangen Durchwurstelei mit den stillschweigend auf Binärbasis umdefinierten Einheiten machten letztlich zwei Faktoren den Garaus: Zum einen verschoben sich die Leistung von Rechnern und Komponenten vom Kilo- in den Giga-Bereich, womit auch die Fehlermarge entsprechend anstieg. Zum anderen ließ sich die Terminologie mit der steigenden Verbreitung von Rechnern und Telekommunikationstechnik nicht mehr auf einen kleinen Kreis illustrer Fachanwender beschränken.

Auf Anregung des IEEE entwickelte die International Electrotechnical Commission (IEC) Ende der 90er Jahre daher ein eigenes System von Bezeichnungen für binäre Maßeinheiten, wobei sie sich eng an das SI-System anlehnte. Die Präfixe erhalten dabei jeweils die angehängte Silbe "bi" für Binär. Als entsprechendes Kennzeichen modifiziert die jeweiligen Symbole ein zusätzliches "i". Parallel dazu gelten weiterhin auch die SI-Präfixe auf Dezimalbasis. Einen Überblick liefert die unten stehende Tabelle.

Binäre Maße und Präfixe

Präfix

Symbol

Bedeutung

SI-Pendant

Umrechnung

(nach: IEC 60027-2, Second Edition, 2000-11)

-

b

Bit

-

-

-

B

Byte

-

8 b = 1 B

kibi

Ki

2^10

kilo (k)

1 KiB = 1,02 kB

mebi

Mi

2^20

mega (M)

1 MiB = 1,05 MB

gibi

Gi

2^30

giga (G)

1 GiB = 1,07 GB

tebi

Ti

2^40

tera (T)

1 TiB = 1,10 TB

pebi

Pi

2^50

peta (P)

1 PiB = 1,13 PB

exbi

Ei

2^60

exa (E)

1 EiB = 1,15 EB

Dieses System wurde im Dezember 1999 als Amendment 2 to IEC International Standard IEC 60027-2 übernommen und damit zum weltweit gültigen Standard. Seit November 2000 ist der ehemalige Zusatz fest in die zweite Fassung von IEC 60027-2 integriert. Binäre Maßangaben lassen sich seitdem endlich zweifels- und verwechslungsfrei angeben. Ein Kilobyte (kB) umfaßt 1000 Byte, ein Kibibyte (KiB) dagegen 1024. Die Festplatte hat eine Kapazität von beispielsweise 40 Milliarden Byte (GB) oder 37,3 GiB. Der Standard-PCI-Bus bietet eine Bandbreite von 133,3 MB/s oder 127,2 MiB/s.

Akzeptanz mangelhaft

Trotz des offensichtlichen Vorteils, alle Maßangaben mit Hilfe des IEC-Standards eindeutig und verwechslungsfrei bezeichnen zu können, hält sich die Akzeptanz der neuen Benennungen in engen Grenzen. Eine Ausnahme machen da lediglich die Festplattenhersteller, nach dem Motto: "Hab ich's doch schon immer gesagt!"

Die meisten Praktiker weigern sich beharrlich, die ungewohnten neuen Abkürzungen zu akzeptieren. "Wollen Sie mich auf den Arm nehmen?", soll etwa Dell-Pressesprecher Bill Robbins gefragt haben, als man ihn mit den neuen Einheiten konfrontierte. Der Algorithmen-Papst Don Knuth lehnt die "lächerlich klingenden Bezeichnungen" ab und präsentiert gleich einen Gegenvorschlag: Man solle doch lieber von "large" Kilo-, Mega- oder Gigabyte sprechen und das Präfix zur Erkennbarkeit schlicht verdoppeln. KKB, MMB oder GGB signalisiere durch die Verdopplung nicht nur die Größe, sondern auch den binären Kontext.

Andere ergeben sich ihrem Schicksal eher widerwillig. Etwa Andries Brouwer, der Autor des Large Disk HOWTO für Linux. Er bedient sich zwar auf Grund des offensichtlichen Nutzwerts gern der neuen Notation, kann sich aber auch noch nicht so recht mit den Bezeichnungen anfreunden. Er bringt die Sache so auf den Punkt: "Für unsere Zwecke ist es nur wichtig zu wissen, dass ein Megabyte genau 1.000.000 Byte hat. Wer einen anderen Wert beschreiben will, muss eben andere Bezeichnungen und Akronyme verwenden."

Auch die Fachpresse mag sich mit Kibibits und Mebibytes bislang nicht so recht anfreunden. Standard hin, Standard her - so lautet hier die landläufige Meinung - die anderen benutzen die neuen Bezeichnungen ja auch nicht. Warum sollten ausgerechnet wir als Einzelkämpfer jetzt damit unsere Leser verwirren?

Fazit

Ob der Widerwillen gegen IEC 60027-2 nun sachlich berechtigt ist, oder da nur der ein oder andere alten Zöpfen nachhängt: Es bleibt der Fakt, dass es sich bei den Kibi- und Mebibytes um einen gültigen internationalen Standard handelt. Es wäre nicht der erste, der mit sanftem Druck durchgesetzt werden muss. Auch die bereits 1970 in Deutschland verbindlich eingeführten SI-Einheiten wurden erst zum allseits praktizierten Standard, als der Gesetzgeber 1978 durch das explizite Verbot alternativer Maße nachhalf. Was nun tecCHANNEL betrifft, so schlagen da auch in unserer Brust zwei Herzen: Im Interesse der Präzision würden wir einerseits nur zu gern künftig SI- und IEC-Notation strikt trennen und MBs und MiBs normgerecht verwenden.

Allerdings sehen auch wir die Gefahr, unsere Leser zu verwirren. Das liegt weniger an den ungewohnten Einheiten. Die können wir als Online-Publikation in neu erstellten Artikeln relativ problemlos über das Glossar und entsprechende Links klarstellen. Allerdings lassen sich die bereits veröffentlichten Artikel schlicht auf Grund der Masse nicht auf einen Schlag, sondern nur sukzessive auf die neue Notation umstellen. Für eine Übergangsfrist fänden sich also beide Varianten auf www.tecchannel.de.

An dieser Stelle würden wir gerne Ihre Hilfe in Anspruch nehmen. Halten Sie den IEC-Standard für richtig und wichtig, oder ist er schlicht überflüssig? Soll tecCHANNEL auf die Trennung von Binär- und Dezimalnotation umsteigen, oder weiter verfahren wie bisher? Entscheiden Sie - beantworten Sie dazu einfach unsere Frage der Woche auf der Homepage. Falls Sie Fragen haben oder Anregungen loswerden wollen, teilen Sie uns Ihre Meinung zu diesem Thema doch einfach über den unten stehenden Link in unserem Forumsbereich mit. (jlu)