Binärpräfix
Binärpräfixe (auch IEC-Präfixe oder IEC-Vorsätze)[1] sind Vorsätze für Maßeinheiten (Einheitenvorsätze), die Vielfache bestimmter Zweierpotenzen bezeichnen. Sie werden vorwiegend mit Einheiten wie Bit (Symbol „bit“, selten „b“) oder Byte (Symbol „B“) verwendet, um Datenmengen zu bemessen, da hier aus technischen Gründen häufig Zweierpotenzen auftreten. Als Einheitenvorsatz wird sowohl der Name („kibi“, „mebi“, …) als auch das zugehörige Symbol („Ki“, „Mi“ …) bezeichnet.
Im Unterschied dazu bezeichnen Dezimalpräfixe Vielfache bestimmter Zehnerpotenzen. SI-Präfixe sind Dezimalpräfixe für die Benutzung im SI-Einheitensystem.
Für Datenmengen werden je nach Kontext die SI-Präfixe mal als Binärpräfix und mal als Dezimalpräfix verwendet. Um eine Alternative zur mehrdeutigen Verwendung der SI-Präfixe zu haben, legte die IEC eigene Präfixe fest, die nun ausschließlich als Binärpräfixe dienen sollen.
IEC-Präfixe zur Basis 2
Die Binärpräfixe sind gemäß der folgenden Tabelle nach IEC 60027-2 definiert:
Name | Symbol | Wert |
---|---|---|
kibi | Ki | 210 = 10241 = 1.024 |
mebi | Mi | 220 = 10242 = 1.048.576 |
gibi | Gi | 230 = 10243 = 1.073.741.824 |
tebi | Ti | 240 = 10244 = 1.099.511.627.776 |
pebi | Pi | 250 = 10245 = 1.125.899.906.842.624 |
exbi | Ei | 260 = 10246 = 1.152.921.504.606.846.976 |
zebi | Zi | 270 = 10247 = 1.180.591.620.717.411.303.424 |
yobi | Yi | 280 = 10248 = 1.208.925.819.614.629.174.706.176 |
Beispiel: 512 MiB (Mebibyte) = 512 · 220 Byte = 536.870.912 Byte ≈ 537 MB (Megabyte).
Normen
Um Mehrdeutigkeiten zu vermeiden, schlug die Internationale elektrotechnische Kommission (IEC) im Juni 1996 einen neuen Normentwurf für Binärpräfixe vor, die nur in der binären Bedeutung verwendet werden sollten.[2][3] Dieser Entwurf wurde im Dezember 1998 als Norm beschlossen und im Januar 1999 als Ergänzung zu IEC 60027-2 veröffentlicht.[4] Er führte die Präfixe kibi, mebi, gibi, tebi, pebi und exbi für binäre Vielfache von Einheiten ein. In diesen Bezeichnungen wurden die ersten zwei Buchstaben der bereits genormten SI-Präfixe um „bi“ für „binär“ ergänzt. Für die Symbole der Binärpräfixe wurden die Symbole der SI-Präfixe verwendet und an diese der Kleinbuchstabe „i“ angehängt, wobei für das kibi im Gegensatz zum „kilo“ der Großbuchstabe „K“ verwendet wurde. In der Norm wurde außerdem darauf hingewiesen, dass die SI-Präfixe nur für auf Zehnerpotenzen basierende Vielfache verwendet werden sollten. Diese Ergänzungen wurden in die im November 2000 veröffentlichte zweite Auflage der Norm IEC 60027-2 (2000-11) integriert. In die im August 2005 veröffentlichte dritte Ausgabe der Norm IEC 60027-2 (2005-08) wurden auch die Binärpräfixe zebi und yobi aufgenommen.[5]
Viele Standardisierungsorganisationen schlossen sich dieser Empfehlung an. Darunter sind zu nennen das BIPM/CIPM (1998), das IEEE 1541 (2002) und speziell in Deutschland die Physikalisch-Technische Bundesanstalt (2007)[6] (weitere: NIST, CENELEC,[7] DIN/EN).[8][9]
Auch das für die SI-Präfixe zuständige Internationale Büro für Maß und Gewicht (BIPM) rät von der binären Verwendung der SI-Präfixe ausdrücklich ab und empfiehlt für die Bezeichnung von Zweierpotenzen die Binärpräfixe gemäß der bisherigen IEC 60027-2,[10] die durch die weltweite ISO-Norm IEC 80000-13:2008 (bzw. DIN EN 80000-13:2009-01) gleichlautend ersetzt wurde.
SI-Präfixe für binäre Vielfache zur Basis 10
Da es bis 1996 keine speziellen Einheitenvorsätze für Zweierpotenzen gab, hat es sich verbreitet, die SI-Präfixe im Zusammenhang mit Speicherkapazitäten zur Bezeichnung von Zweierpotenzen zu verwenden (mit Faktor 210 = 1024 statt 1000), die den gewünschten Zweierpotenzen am nächsten kamen. Es sollte dann aus der Kombination mit den Einheiten Bit oder Byte oder einem anderen Kontext hervorgehen, dass eine Zweierpotenz gemeint war. Diese binäre Verwendung der SI-Präfixe wurde 1986 von der IEEE auch in einem Glossar dokumentiert.[11]
Während dies bei Speicherbausteinen, die üblicherweise nur in Größen von Zweierpotenzen hergestellt werden, wenig problematisch ist, führte dies beispielsweise bei der Angabe von Festplattenkapazitäten in GB oder Datenübertragungsraten in MB/s oder Mbit/s zu Zweifeln hinsichtlich der genauen Bedeutung. Zudem wird die Abweichung bei höherwertigen Präfixen immer größer, sodass sie oft nicht mehr vernachlässigbar ist. Auch kommen vereinzelt Mischformen vor, etwa bei der Speicherkapazität einer 3,5-Zoll-Diskette: 1,44 MB = 1440 kB = 1440 × 1024 Byte.
Das für die SI-Präfixe zuständige Internationale Büro für Maß und Gewicht (BIPM) rät daher von dieser nicht normgemäßen Verwendung der SI-Präfixe ausdrücklich ab und empfiehlt für die Bezeichnung von Zweierpotenzen die Binärpräfixe gemäß IEC 60027-2.[12]
Trotzdem war diese empfohlene Bezeichnungsweise auch 2009 nicht sehr weit verbreitet (siehe auch Abschnitt Akzeptanz und Verbreitung)[13].
Eine Übersicht mit Werten über die möglichen SI-Präfixe und die nächstliegenden Zweierpotenzen sowie die prozentualen (gerundeten) Unterschiede bietet die folgende Tabelle:
Dezimalpräfixe | Unterschied gerundet |
Binärpräfixe gemäß IEC | ||||
---|---|---|---|---|---|---|
Name | Symbol | Anzahl Bytes[G 1] | Name | Symbol | Anzahl Bytes | |
Kilobyte | kB[G 2] | 1 000 = 103 | 2,4 % | Kibibyte | KiB[G 3] | 1 024 = 210 |
Megabyte | MB | 1 000 000 = 106 | 4,9 % | Mebibyte | MiB | 1 048 576 = 220 |
Gigabyte | GB | 1 000 000 000 = 109 | 7,4 % | Gibibyte | GiB | 1 073 741 824 = 230 |
Terabyte | TB | 1 000 000 000 000 = 1012 | 10,0 % | Tebibyte | TiB | 1 099 511 627 776 = 240 |
Petabyte | PB | 1 000 000 000 000 000 = 1015 | 12,6 % | Pebibyte | PiB | 1 125 899 906 842 624 = 250 |
Exabyte | EB | 1 000 000 000 000 000 000 = 1018 | 15,3 % | Exbibyte | EiB | 1 152 921 504 606 846 976 = 260 |
Zettabyte | ZB | 1 000 000 000 000 000 000 000 = 1021 | 18,1 % | Zebibyte | ZiB | 1 180 591 620 717 411 303 424 = 270 |
Yottabyte | YB | 1 000 000 000 000 000 000 000 000 = 1024 | 20,9 % | Yobibyte | YiB | 1 208 925 819 614 629 174 706 176 = 280 |
- SI-Präfixe sind nur für SI-Einheiten standardisiert; Byte ist keine SI-Einheit
- wird meistens mit „KB“ abgekürzt
- wird oft (standardwidrig) mit „KB“ abgekürzt, mitunter um den Unterschied zu „kB“ zu kennzeichnen
Ein anderer oft verwendeter Ansatz, um auf die beabsichtigte Abweichung von der Zehnerpotenz hinzuweisen, besteht darin, für die Zweierpotenzen den Großbuchstaben „K“ (in der Regel als „Ka“ gesprochen) an Stelle des Kleinbuchstabens „k“ zu verwenden. So kann „k“ für 1000 Einheiten verwendet werden und „K“ für 1024. Diese Konvention ist jedoch weder normiert noch wird sie konsequent angewendet. Auch kann dieser Ansatz nicht auf die größeren Präfixe übertragen werden, da die Symbole für die SI-Präfixe ab mega in Großbuchstaben geschrieben werden („M“ für mega, „G“ für giga und so weiter).
Verhältnis binärer und dezimaler Präfixe
Die Werte der SI-Präfixe steigen in Zehnerpotenzen, weswegen die SI-Präfixe auch als dezimale Präfixe bezeichnet werden, während die Werte der Binärpräfixe in Zweierpotenzen ansteigen. Konkret steigen die Werte der dezimalen Präfixe – ausgehend von kilo – jeweils um den Faktor und die Werte der binären Präfixe um den Faktor . D. h. kilo entspricht , mega , giga und so weiter, und kibi entspricht , mebi , gibi und so weiter. Beschreibt die Präfixe derart, dass für kilo und kibi steht, für mega und mebi, für giga und gibi und so weiter, so ergeben sich die Werte der dezimalen Präfixe zu und die Werte der binären Präfixe zu . Aus dieser Tatsache lässt sich leicht eine Formel erstellen, welche das Verhältnis der Präfix-Werte zueinander angibt.
Die folgende Tabelle gibt eine Übersicht über die sich daraus ergebenden Verhältnisse:
Name | bin : dez | dez : bin | Beispiel | Unterschied in % |
---|---|---|---|---|
Kilobyte, kibibyte | 1,024 | 0,977 | 100 kB = 97,7 KiB | +2,4 % bzw. −2,3 % |
Megabyte, mebibyte | 1,049 | 0,954 | 100 MB = 95,4 MiB | +4,9 % bzw. −4,6 % |
Gigabyte, gibibyte | 1,074 | 0,931 | 100 GB = 93,1 GiB | +7,4 % bzw. −6,9 % |
Terabyte, tebibyte | 1,100 | 0,909 | 100 TB = 90,9 TiB | +10,0 % bzw. −9,1 % |
Petabyte, pebibyte | 1,126 | 0,888 | 100 PB = 88,8 PiB | +12,6 % bzw. −11,2 % |
Exabyte, exbibyte | 1,153 | 0,867 | 100 EB = 86,7 EiB | +15,3 % bzw. −13,3 % |
Zettabyte, zebibyte | 1,181 | 0,847 | 100 ZB = 84,7 ZiB | +18,1 % bzw. −15,3 % |
Yottabyte, yobibyte | 1,209 | 0,827 | 100 YB = 82,7 YiB | +20,9 % bzw. −17,3 % |
Motivation und Geschichte
Ein wichtiger Bestandteil eines Computers ist der Arbeitsspeicher, der heute üblicherweise als Halbleiterspeicher realisiert wird. Die einzelnen Speicherzellen werden mit Hilfe von parallelen, binär arbeitenden Leitungen adressiert, die zusammengefasst als Adressbus bezeichnet werden. Mit einem Adressbus, der Leitungen besitzt, können Speicherzellen adressiert werden. Daher werden direktadressierbare Halbleiterspeicher (RAM, ROM, (E)EPROM) üblicherweise in Größen von Zweierpotenzen hergestellt. Mit zunehmender Größe der Speicher wurde es mangels standardisierter Alternativen üblich, SI-Präfixe mit den Speichereinheiten Bit und Byte zu verwenden, um Zweierpotenzen zu quantifizieren, obwohl die SI-Präfixe auf Zehnerpotenzen basieren. Bei Datenspeichern mit sequentieller Adressierung oder bei der sequentiellen Übertragung von Daten gibt es allerdings keinen Grund, mit Zweierpotenzen zu arbeiten, sodass hier die SI-Präfixe meist normgerecht verwendet werden. Dies führt zu Verwirrungen, da meist auch für Fachleute nicht mehr eindeutig erkennbar ist, ob der jeweilige SI-Vorsatz normgerecht als Zehnerpotenz oder normwidrig als Zweierpotenz interpretiert werden soll. Festplattenhersteller verwenden beide Systeme, Zehnerpotenzen bei den Speichergrößen, Zweierpotenzen bei den Cache-Größen.[14]
Beispielsweise haben sich für die Bezeichnung „1,44 MB“ in der Praxis drei verschiedene Interpretationen eingebürgert:
- „1,44 MB“ = 1,44 · 1.000.000 B = 1,44 · 106 B = 1.440.000 B = 1.440 kB = 1,44 MB
z. B. bei Festplatten, DVD und Dauerspeichermedien mit Flash-Speicher, wie USB-Sticks und SD-Karten, - „1,44 MB“ = 1,44 · 1.048.576 B = 1,44 · 220 B = 1.509.949,44 B = 1.474,56 kiB = 1,44 MiB
z. B. bei Arbeitsspeicher (RAM, (EEP-)ROM, Caches …),[14] - „1,44 MB“ = 1,44 · 1.024.000 B = 1,44 · 103 · 210 B = 1.474.560 B = 1.474,56 kB = 1,47456 MB = 1.440 KiB = 1,40625 MiB
als Kapazitätsangabe bei der klassischen 3½″-Diskette.
Außerdem findet sich noch die Bezeichnung „1 Mb“ (mit kleinem „b“ für „Bit“):
- „1 Mb“ = 1.000.000 b
bei der Datenübertragung, z. B. Telekommunikationsleitungen und Ethernet, - „1 Mb“ = 1.048.576 b
bei Speicherbausteinen, z. B. „64-Mb-Chip“.
Diese inkonsequente Vorgehensweise kann beim Rechnen mit Einheiten zu schwer nachvollziehbaren Fehlern führen, wie an folgendem einfachen Beispiel gezeigt werden soll:
Ein Computerbenutzer will eine Datei mit der angegebenen Größe von „40 MB“ aus dem Internet herunterladen und hat dazu eine Datenleitung mit einer Datenübertragungsrate von 8 Mbit/s zur Verfügung. Die zur vollständigen Übertragung dieser Datei benötigte Zeit lässt sich mit der Umrechnung 1 B = 8 bit (vereinfacht) folgendermaßen berechnen:
Hier drängt es sich auf, die „MB“ im Zähler gegen die „MB“ im Nenner zu kürzen, sodass sich ein Ergebnis von ergibt. Wenn jedoch mit dem „MB“ im Zähler eine Zweierpotenz gemeint ist, während im Nenner eine Zehnerpotenz gemeint ist, kann man diese Einheiten nicht gegeneinander kürzen, obwohl dies praktisch nicht mehr ersichtlich ist.
Für eine saubere Lösung dieses Problems gibt es mehrere Möglichkeiten:
- Verzicht auf Präfixe größer 1
- Benutzung der Potenzschreibweise
- ausschließliche und normgerechte(!) Verwendung der SI-Präfixe,
- (zusätzliche) Verwendung der von der IEC genormten Binärpräfixe für Zweierpotenzen.
Die Einführung der Binärpräfixe bedeutet nicht, dass sie die SI-Präfixe für die Verwendung mit Bits und Bytes ersetzen sollen. Beispielsweise kann man die Größe eines 230 B großen Arbeitsspeichers mit 1.073.741.824 B, circa 1074 MB oder eben praktischerweise als exakt 1 GiB angeben. Dadurch können die SI-Präfixe stets eindeutig in ihrer genormten Bedeutung verwendet werden.
Welche Angabe sinnvoller ist, hängt vom Verwendungszweck ab, insbesondere davon, ob der Hintergrund einer binären Adressierung besteht und ob dieser von Belang ist (wie z. B. bei der Größe eines Halbleiterspeichers oder der Partitionierung einer Festplatte), oder ob dieser Hintergrund nicht mehr relevant ist (z. B. beim späteren Arbeiten mit Dateien auf denselben Medien). Das Arbeiten mit Zweierpotenzen kann allerdings beim Addieren oder Subtrahieren von Datenmengen mit verschiedenen Binärpräfixen und beim Übergang auf größere oder kleinere Binärpräfixe umständlicher sein als bei der Verwendung der auf das Dezimalsystem zugeschnittenen SI-Präfixe (wie beispielsweise 537 MB).
Akzeptanz und Verbreitung
Die IEC-Binärpräfixe wurden zumindest bis Januar 2002 in industrieller und wissenschaftlicher Literatur sowie in Software kaum akzeptiert und somit nur selten verwendet.[15] Auch bis heute ist nur eine sehr langsam zunehmende Akzeptanz und Verbreitung festzustellen. In den Informationen für Autoren verlangt das IEEE ausdrücklich, dass SI-Präfixe nur für Zehnerpotenzen verwendet werden, erwähnt die Binärpräfixe jedoch nicht.[16] Das Computermagazin PC Games Hardware verwendet sie seit Oktober 2007.[17] Davon abgesehen gibt es mittlerweile einige Programme, welche die Binärpräfixe unterstützen, z. B. der Linux-Kernel,[18] sämtliche Linux-Distributionen, darauf aufbauende Tools wie Partitionierer (GParted), die GNU core utilities,[19] KDE 4, phpMyAdmin, WinSCP[20] und einige BitTorrent-Programme. Für Linux wird inzwischen der IEC-Standard lückenlos umgesetzt und dem Anwender die Wahl der Ausgabe gelassen, oder beide Größen angezeigt. macOS geht ab Mac OS X Snow Leopard (10.6) den umgekehrten Weg und verwendet SI-Präfixe, so wie sie für SI-Einheiten normiert sind, ebenfalls IEC-gerecht nur in ihrer dezimalen Bedeutung.[21]
Weblinks
Einzelnachweise
- Hans-Georg Elias: Makromoleküle – Physikalische Strukturen und Eigenschaften. 6. Auflage. Wiley-VCH Verlag, Weinheim 2000, ISBN 3-527-29960-2, S. 637 (eingeschränkte Vorschau in der Google-Buchsuche).
- International Electrotechnical Commission (IEC), new work item proposal 25/180/NP, Amendment of IEC 60027-2: 2005, 3. Auflage. Letter symbols to be used in electrical technology, Part 2: Telecommunications and electronics – Introduction of prefixes for binary multiples, IEC/TC 25/WG 1, June 1996.
- Markus Kuhn: Standardized units for use in information technology. 1996-12-29 [updated 1999-07-19].
- Amendment 2 to IEC 60027-2: Letter symbols to be used in electrical technology – Part 2: Telecommunications and electronics.
- IEC 60027-2, Ed. 3.0, (2005-08): Letter symbols to be used in electrical technology – Part 2: Telecommunications and electronics.
- Physikalisch-Technische Bundesanstalt: PTB-Mitteilungen 117 (2007), Heft 2, S. 166. (PDF (Memento des Originals vom 4. März 2016 im Internet Archive) Info: Der Archivlink wurde automatisch eingesetzt und noch nicht geprüft. Bitte prüfe Original- und Archivlink gemäß Anleitung und entferne dann diesen Hinweis. ; 1,4 MiB)
- HD 60027-2:2003 (Memento vom 23. Februar 2008 im Internet Archive) Informationen zum CENELEC-Normierungsprozess.
- prEN 60027-2:2006 (Memento vom 17. Juni 2008 im Internet Archive) Informationen zum EN-Normierungsprozess.
- DIN EN 60027-2:2007-11 Beuth Verlag, Detailanzeige
- BIPM – SI-Broschüre, 8. Auflage. März 2006, Abschnitt 3.1: SI-Präfixe. Randnotiz. Siehe auch: BIPM – SI prefixes (Memento des Originals vom 7. Juni 2007 im Internet Archive) Info: Der Archivlink wurde automatisch eingesetzt und noch nicht geprüft. Bitte prüfe Original- und Archivlink gemäß Anleitung und entferne dann diesen Hinweis.
- ANSI/IEEE Std 1084–1986 IEEE Standard Glossary of Mathematics of Computing Terminology, 30. Oktober 1986. Zitat: kilo (K). (1) A prefix indicating 1000. (2) In statements involving size of computer storage, a prefix indicating 210, or 1024. mega (M). (1) A prefix indicating one million. (2) In statements involving size of computer storage, a prefix indicating 220, or 1,048,576.
- BIPM – SI-Broschüre, 8. Auflage. März 2006, Abschnitt 3.1: SI-Präfixe. Randnotiz.
- Berner Zeitung: Ist Mebi mehr als Kibi und weniger als Gibi? vom 23. November 2009.
- Charles M. Kozierok: Binary vs. Decimal Capacity Measurements. In: The PC Guide – Hard Disk Drives. 17. April 2001, abgerufen am 16. März 2014 (englisch).
- tecCHANNEL: Von Kibibits und Gibibytes – Akzeptanz mangelhaft, 30. Januar 2002.
- IEEE Periodicals, Transactions/Journals Department: Information for Authors. Revised: 3/07. (PDF (Memento des Originals vom 12. Mai 2013 im Internet Archive) Info: Der Archivlink wurde automatisch eingesetzt und noch nicht geprüft. Bitte prüfe Original- und Archivlink gemäß Anleitung und entferne dann diesen Hinweis. , 448 395 B ≈ 448,4 kB ≈437,9 KiB)
- Das Kibibyte kommt. In: PC Games Hardware Forum, 1. Oktober 2007.
- Linux Programmer’s Manual; UNITS(7) (englisch)
- Coreutils – GNU Core Utilities
- Can I transfer file larger than 4 GiB (or 2 GiB)?
- How Mac OS X and iOS report storage capacity