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.
Ursprünglich wurden hierfür Präfixe verwendet, die für SI-Einheiten zur Bezeichnung von Zehnerpotenzen geschaffen wurden und ähnliche Zahlenwerte habe. Was gemeint war, sollte sich aus dem Kontext ergeben. Weil diese Zweideutigkeit aber oft zu Problemen führte, wurden eigene Binärpräfixe geschaffen. Die SI-Präfixe sollen nur noch für Zehnerpotenzen verwendet werden. Diese Regel wird aber nicht immer befolgt.
Namen und Definition binärer Präfixe
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 n Leitungen besitzt, können 2n Speicherzellen adressiert werden. Daher werden direkt adressierbare Halbleiterspeicher üblicherweise in Größen von Zweierpotenzen hergestellt.
Zufälligerweise liegt die Zweierpotenz 210 = 1024 nahe bei der Zehnerpotenz 103 = 1000. Da die dezimalen SI-Präfixe Potenzen von 1000 sind, lag es nahe, die binären Präfixe in Anlehnung daran als Potenzen von 1024 zu definieren und ihnen ähnliche Namen zu geben.
Die folgende Tabelle listet die Binärpräfixe und vergleicht die Werte mit den SI-Präfixen der entsprechenden Größenordnung:
Binärpräfix | SI-Präfix ähnlicher Größe | |||||
---|---|---|---|---|---|---|
kibi | Ki | 210 = 1024 = 1.024e3 | kilo | k | 1000 = 103 | |
mebi | Mi | 220 = 10242 ≈ 1.049e6 | mega | M | 10002 = 106 | |
gibi | Gi | 230 = 10243 ≈ 1.074e9 | giga | G | 10003 = 109 | |
tebi | Ti | 240 = 10244 ≈ 1.100e12 | tera | T | 10004 = 1012 | |
pebi | Pi | 250 = 10245 ≈ 1.126e15 | peta | P | 10005 = 1015 | |
exbi | Ei | 260 = 10246 ≈ 1.152e18 | exa | E | 10006 = 1018 | |
zebi | Zi | 270 = 10247 ≈ 1.181e21 | zetta | Z | 10007 = 1021 | |
yobi | Yi | 280 = 10248 ≈ 1.209e24 | yotta | Y | 10008 = 1024 |
Beispiel: 512 MiB (Mebibyte) = 512 · 220 Byte = 536.870.912 Byte ≈ 537 MB (Megabyte).
Die Bezeichnungen der Präfixe kibi, mebi, gibi etc. wurden aus den ersten zwei Buchstaben der entsprechenden SI-Präfixe, ergänzt um „bi“ für „binär“ gebildet. Als Symbole der Binärpräfixe wurden die Symbole der SI-Präfixe verwendet und an diese der Kleinbuchstabe „i“ angehängt, wobei für kibi der Großbuchstabe „K“ verwendet wird.
Während der Größenunterschied zwischen „kibi“ und „kilo“ nur 2,4 % beträgt, wächst er mit höheren Potenzen immer weiter an. So ist ein Pebibyte schon 12,6 % mehr als ein Petabyte.
Geschichte
Ursprünge
In der Zeit der ersten Heimcomputer wurde es üblich, 1024 Byte als „Kilobyte“ zu bezeichnen. Manchmal wurde dabei zwischen „k“ (= 1000) und „K“ (= 1024) unterschieden – eine Möglichkeit, die später für den Vorsatz „Mega“ nicht zur Verfügung stand.[2] Da Speicherbausteine und zunächst auch Datenspeicher üblicherweise nur in Größen von Zweierpotenzen hergestellt wurden war die Gefahr von Missverständnissen gering. Überdies betrug die Abweichung nur bei „Kilo-“ nur 2,4 %. Diese binäre Verwendung der SI-Präfixe wurde 1986 von der IEEE auch in einem Glossar dokumentiert.[3]
Mit der Zeit jedoch wurden Festplatten in beliebigen Größen hergestellt, und aufgrund der zunehmenden Größe wurden die Präfixe „Mega-“ und „Giga-“ verwendet, bei denen die Abweichungen größer sind. Dies führte bei der Angabe von Festplattenkapazitäten in MB oder GB sowie auch bei der Datenübertragungsraten in MB/s oder Mbit/s zu Zweifeln hinsichtlich der genauen Bedeutung. Es kamen sogar Mischformen vor, etwa bei der Speicherkapazität einer 3,5-Zoll-Diskette: „1,44 MB“ bedeutete in diesem Fall 1,44 × 1000 × 1024 Byte.
Normung
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.[4][5] Dieser Entwurf wurde im Dezember 1998 als Norm beschlossen und im Januar 1999 als Ergänzung zu IEC 60027-2 veröffentlicht.[6] Er führte die Präfixe kibi, mebi, gibi, tebi, pebi und exbi für binäre Vielfache von Einheiten ein. 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.[7]
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)[8] (weitere: NIST, CENELEC,[9] DIN/EN).[10][11]
Auch das für die SI-Präfixe zuständige Internationale Büro für Maß und Gewicht (BIPM) empfahl 2006 in der 8. Auflage der SI-Broschüre für die Bezeichnung von Zweierpotenzen die Binärpräfixe und riet von der Verwendung der SI-Präfixe in binärer Bedeutung ab.[12][13][14] Mit clause 4 wurden die binären Präfixe Bestandteil der weltweiten ISO-Norm IEC 80000-13:2008 (bzw. DIN EN 80000-13:2009-01).
Verwendung
Richtlinien
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).
Begriffsverwirrung bei nicht normgerechter Verwendung dezimaler Präfixe
Für Arbeitsspeicher werden oft auch heute noch SI-Präfixe normwidrig in binärer Bedeutung verwendet. Dies gilt vor allem für mündliche Kommunikation, wenn die binären Präfixe Ki-, Mi-, … als „Kilo-“, „Mega-“, … gesprochen werden. Da in diesem Zusammenhang Zweierpotenzen die Regel sind, wird vorausgesetzt, dass dies richtig verstanden wird. Bei Datenspeichern mit sequentieller Adressierung oder bei der sequentiellen Übertragung von Daten gibt es hingegen keinen Grund, mit Zweierpotenzen zu arbeiten, sodass hier die SI-Präfixe meist normgerecht verwendet werden.
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:
- Fehler beim Parsen (MathML mit SVG- oder PNG-Rückgriff (empfohlen für moderne Browser und Barrierefreiheitswerkzeuge): Ungültige Antwort („Math extension cannot connect to Restbase.“) von Server „https://wikimedia.org/api/rest_v1/“:): {\displaystyle t = \frac{ 40\,\mathrm{MB} }{ 8\,\mathrm{Mbit}/\mathrm{s} } = \frac{ 40\,\mathrm{MB} }{ 8\,\mathrm{Mbit}/\mathrm{s} \cdot 1\,\mathrm{B}/8\,\mathrm{bit} } = \frac{ 40\,\mathrm{MB} }{ 1\,\mathrm{MB}/\mathrm{s} }}
Hier drängt es sich auf, die „MB“ im Zähler gegen die „MB“ im Nenner zu kürzen, sodass sich ein Ergebnis von Fehler beim Parsen (MathML mit SVG- oder PNG-Rückgriff (empfohlen für moderne Browser und Barrierefreiheitswerkzeuge): Ungültige Antwort („Math extension cannot connect to Restbase.“) von Server „https://wikimedia.org/api/rest_v1/“:): {\displaystyle t = 40\,\mathrm s} 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.
Akzeptanz und Verbreitung
Seit der Definition der Binärpräfix sind Hersteller von Betriebssystemen und Speichermedien mehr und mehr dazu übergegangen, für Zweierpotenzen explizit Binärpräfixe zu verwenden und SI-Präfixe nur in dezimaler Bedeutung. Für eine ausführliche Darstellung siehe Artikel „Byte“.
Mathematische Details
Genaue Werte
Die genauen Werte der 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 |
Verhältnis binärer und dezimaler Präfixe
Die Werte der dezimalen Präfixe steigend – ausgehend von kilo – jeweils um den Faktor und die Werte der binären Präfixe um den Faktor Fehler beim Parsen (MathML mit SVG- oder PNG-Rückgriff (empfohlen für moderne Browser und Barrierefreiheitswerkzeuge): Ungültige Antwort („Math extension cannot connect to Restbase.“) von Server „https://wikimedia.org/api/rest_v1/“:): {\displaystyle 2^{10} = 1024} . Aus dieser Tatsache lässt sich leicht eine Formel erstellen, welche das Verhältnis der Präfix-Werte zueinander angibt.
- Fehler beim Parsen (MathML mit SVG- oder PNG-Rückgriff (empfohlen für moderne Browser und Barrierefreiheitswerkzeuge): Ungültige Antwort („Math extension cannot connect to Restbase.“) von Server „https://wikimedia.org/api/rest_v1/“:): {\displaystyle \Phi_{\frac{\mathrm{bin}}{\mathrm{dez}}}(n) = \frac{1024^n}{1000^n} = 1{,}024^n}
- Fehler beim Parsen (MathML mit SVG- oder PNG-Rückgriff (empfohlen für moderne Browser und Barrierefreiheitswerkzeuge): Ungültige Antwort („Math extension cannot connect to Restbase.“) von Server „https://wikimedia.org/api/rest_v1/“:): {\displaystyle \Phi_{\frac{\mathrm{dez}}{\mathrm{bin}}}(n) = \frac{1000^n}{1024^n} = 1{,}024^{-n}}
Die folgende Tabelle gibt eine Übersicht über die sich daraus ergebenden Verhältnisse:
Name | bin/dez | dez/bin | Beispiel | ||
---|---|---|---|---|---|
Kilobyte, kibibyte | 1,024 | +2,4 % | 0,977 | −2,3 % | 100 kB = 97,7 KiB |
Megabyte, mebibyte | 1,049 | +4,9 % | 0,954 | −4,6 % | 100 MB = 95,4 MiB |
Gigabyte, gibibyte | 1,074 | +7,4 % | 0,931 | −6,9 % | 100 GB = 93,1 GiB |
Terabyte, tebibyte | 1,100 | +10,0 % | 0,909 | −9,1 % | 100 TB = 90,9 TiB |
Petabyte, pebibyte | 1,126 | +12,6 % | 0,888 | −11,2 % | 100 PB = 88,8 PiB |
Exabyte, exbibyte | 1,153 | +15,3 % | 0,867 | −13,3 % | 100 EB = 86,7 EiB |
Zettabyte, zebibyte | 1,181 | +18,1 % | 0,847 | −15,3 % | 100 ZB = 84,7 ZiB |
Yottabyte, yobibyte | 1,209 | +20,9 % | 0,827 | −17,3 % | 100 YB = 82,7 YiB |
Weblinks
- NIST: Prefixes for binary multiples
- www.micro-sd.net: Online-Kapazitätsrechner mit Dezimal- und Binärpräfixen
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).
- ↑ Linux Programmer’s Manual; UNITS(7) (englisch)
- ↑ 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.
- ↑ 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]. [1]
- ↑ 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: Das Internationale Einheitensystem (SI) (Memento vom 4. März 2016 im Internet Archive; PDF; 1,43 MB), PTB-Mitteilungen 117 (2007), Heft 2, S. 166.
- ↑ 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.
- ↑ bipm.org: BIPM – SI prefixes (Memento vom 7. Juni 2007 im Internet Archive) (englisch)
- ↑ Le Système international d’unités. 9e édition, 2019 (die sogenannte „SI-Broschüre“), Kapitel 3, S. 31 (französisch) und S. 143 (englisch).