Byte: Unterschied zwischen den Versionen

Aus Foxwiki
Keine Bearbeitungszusammenfassung
Keine Bearbeitungszusammenfassung
Zeile 1: Zeile 1:
'''topic''' - Kurzbeschreibung
== Beschreibung ==
== Installation ==
== Syntax ==
=== Optionen ===
=== Parameter ===
=== Umgebungsvariablen ===
=== Exit-Status ===
== Anwendung ==
=== Fehlerbehebung ===
== Konfiguration ==
=== Dateien ===
<noinclude>
== Anhang ==
=== Siehe auch ===
{{Special:PrefixIndex/{{BASEPAGENAME}}}}
==== Sicherheit ====
==== Dokumentation ====
===== RFC =====
{| class="wikitable sortable options"
|-
! RFC !! Titel
|-
| [https://www.rfc-editor.org/rfc/6146 6146] || Stateful NAT64
|-
| [https://www.rfc-editor.org/rfc/6147 6147]|| DNS64
|-
| [https://www.rfc-editor.org/rfc/5942 5942] || IPv6 Subnet Model: The Relationship between Links and Subnet Prefixes
|}
===== Man-Pages =====
===== Info-Pages =====
==== Links ====
===== Projekt =====
===== Weblinks =====
{{Dieser Artikel|erläutert das ''Byte'' in der Informationstechnik. Für weitere Bedeutungen siehe [[Byte (Begriffsklärung)]].}}
Das '''Byte''' ([{{IPA|baɪt}}]; wohl gebildet zu „[[Bit]]“)<ref name="Duden">[https://www.duden.de/rechtschreibung/Byte Byte] – ''[[Duden]]'', Bibliographisches Institut, 2016</ref> ist eine [[Maßeinheit]] der [[Digitaltechnik]] und der [[Informatik]], das meist für eine Folge aus 8&nbsp;Bit steht.
Historisch gesehen war ''ein Byte'' die Anzahl der Bits zur Kodierung eines einzelnen [[Schriftzeichen]]s im jeweiligen Computersystem und daher das kleinste [[Adressraum|adressierbare]] Element in vielen [[Rechnerarchitektur]]en.
Um ausdrücklich auf eine Anzahl von 8&nbsp;Bit hinzuweisen, wird auch die Bezeichnung ''[[Oktett (Informatik)|Oktett]]'' (in Frankreich ''octet'') verwendet – die früher dafür ebenfalls gängige Bezeichnung ''Oktade'' ist hingegen nicht mehr geläufig.
== Abgrenzung ==
Was genau ein Byte bezeichnet, wird je nach Anwendungsgebiet etwas unterschiedlich definiert. Der [[Begriff]] kann stehen für:
* eine [[Maßeinheit]] für eine [[Datenmenge]] von 8&nbsp;Bit mit dem [[Einheitenzeichen]]&nbsp;„B“,<ref>IEC&nbsp;60027-2, Ed. 3.0, (2005–2008): Letter symbols to be used in electrical technology – Part 2: Telecommunications and electronics.</ref> wobei es nicht auf die Ordnung der einzelnen Bits ankommt.<br />Das Einheitszeichen sollte nicht mit dem zur Einheit&nbsp;[[Bel (Einheit)|Bel]] gehörenden Einheitszeichen&nbsp;„B“ verwechselt werden.
* eine geordnete Zusammenstellung ([[Tupel#Verwendung|n-Tupel]]) von 8&nbsp;Bit, deren formale [[Internationale Organisation für Normung|ISO]]-konforme Bezeichnung [[Oktett (Informatik)|Oktett]] ist (1&nbsp;Byte = 8&nbsp;Bit). <!-- Bitte Diskussionsseite beachten -->Ein Oktett wird manchmal in zwei Hälften ([[Nibble]]s) zu je 4&nbsp;Bit zerlegt, wobei jedes Nibble durch eine [[Hexadezimalsystem|hexadezimale Ziffer]] darstellbar ist. Ein Oktett kann also durch zwei Hexadezimalziffern dargestellt werden.
* die kleinste, meist per [[Adressbus]] adressierbare, Datenmenge eines bestimmten technischen Systems. Die Anzahl an Bits pro Zeichen ist dabei fast immer eine natürliche Zahl. Beispiele:
** bei [[Telex]]: 1 Zeichen = 5&nbsp;Bit
** bei Rechnern der Familien [[Programmed Data Processor|PDP]]: 1 Zeichen = log<sub>2</sub>(50)&nbsp;Bit = zirka 5,644&nbsp;Bit (Radix-50-Code). Ergibt gegenüber 6&nbsp;Bit eine Ersparnis von wenigen Bits pro [[Zeichenkette]], die beispielsweise für Steuerungszwecke genutzt werden können. Allerdings gehen die Byte-Grenzen mitten durch die Bits, was die Analyse von Inhalten erschweren kann.
** bei [[IBM 1401]]: 1 Zeichen = 6&nbsp;Bit
** bei [[ASCII]]: 1 Zeichen = 7&nbsp;Bit
** bei [[IBM-PC]]: 1 Zeichen = 8&nbsp;Bit = 1&nbsp;Oktett
** bei [[Nixdorf System 820|Nixdorf 820]]: 1 Zeichen = 12&nbsp;Bit
** bei Rechnersystemen der Typen [[UNIVAC 1100/2200]] und OS2200 Series: 1&nbsp;Zeichen = 9&nbsp;Bit (ASCII-Code) beziehungsweise 6&nbsp;Bit (FIELDATA-Code)
** bei Rechnern der Familie [[PDP-10]]: 1 Zeichen = 1…36&nbsp;Bit, Bytelänge frei wählbar
* einen [[Datentyp]] in [[Programmiersprache]]n. Die Anzahl an Bits pro Byte kann je nach Programmiersprache und [[Plattform (Computer)|Plattform]] variieren (meistens 8&nbsp;Bit).
* ISO-[[Varianten der Programmiersprache C#C99|C99]] definiert 1&nbsp;Byte als eine zusammenhängende Folge von mindestens 8&nbsp;Bit.<ref name="C" />
Bei den meisten heutigen Rechnern fallen diese [[Definition]]en (kleinste adressierbare Einheit, Datentyp in Programmiersprachen, C-Datentyp) zu einer einzigen zusammen und sind dann von identischer Größe.
Der Begriff „Byte“ wird aufgrund der großen Verbreitung von Systemen, die auf acht Bit (beziehungsweise Zweierpotenzvielfache davon) basieren, für die Bezeichnung einer 8 Bit breiten Größe verwendet, die in formaler Sprache (entsprechend ISO-Normen) aber korrekt [[Oktett (Informatik)|Oktett]] (aus {{enS|octet}}) heißt. Als Maßeinheit bei Größenangaben wird in der deutschen Sprache der Begriff „Byte“ (im Sinne von 8&nbsp;bit) verwendet. Bei der Übertragung kann ein Byte [[Parallele Datenübertragung|parallel]] (alle Bits gleichzeitig) oder [[Serielle Datenübertragung|seriell]] (alle Bits nacheinander) übertragen werden. Zur Sicherung der Richtigkeit werden oft [[Paritätsbit|Prüfbits]] angefügt. Bei der Übertragung größerer Mengen sind weitere [[Kommunikationsprotokoll]]e möglich. So werden bei [[32-Bit]]-Rechnern oft 32&nbsp;Bits (vier Byte) gemeinsam in einem Schritt übertragen, auch wenn nur ein 8-Bit-Tupel übertragen werden muss. Das ermöglicht eine Vereinfachung der zur Berechnung erforderlichen Algorithmen und einen kleineren [[Befehlssatz]] des Computers.
Wie bei anderen Maßeinheiten gibt es neben dem ausgeschriebenen Namen der Maßeinheiten jeweils auch ein [[Einheitenzeichen|Einheitenkürzel]]. Bei Bit und Byte sind dies:
{| class="wikitable"
! Kürzel
! ausgeschriebener Name
|-
| bit (selten „b“)
| Bit
|-
| B (selten „byte“)
| Byte
|-
|}
Der ausgeschriebene Name unterliegt grundsätzlich der normalen [[Deklination (Grammatik)|Deklination]]. Aufgrund der großen Ähnlichkeit der Kürzel mit den ausgeschriebenen Einheitennamen sowie entsprechender Pluralformen in der englischen Sprache werden jedoch gelegentlich auch die Einheitenkürzel „bit“ und „byte“ mit Plural-s versehen.
== Geschichte des Begriffs ==
Das ''[[Bit]]'' ist ein [[Kofferwort]] aus den [[Englische Sprache|englischen]] Wörtern ''{{lang|en|'''b'''inary}}'' und ''{{lang|en|dig'''it'''}}'',<ref>[https://www.duden.de/rechtschreibung/Bit_Einheit_in_der_EDV Bit (Einheit in der EDV)] – ''Duden'', Bibliographisches Institut, 2016</ref> heißt also „zweiwertige [[Ziffer]]“&nbsp;– Null oder Eins. Dessen Bestandteile lassen sich auf die [[latein]]ischen Wörter ''digitus'' (Finger), den bzw. die man seit der Antike zum Zählen verwendet (vgl. [[Plautus]]: ''{{lang|la|computare digitis}}''), und lateinisch (genauer neulateinisch) ''binarius'' (zweifach), vergleiche lateinisch ''bis'' (zweimal), zurückführen.
{{Belege fehlen|Die Behauptung, der Begriff "Byte" leite sich (auch) von "bite" ab wird vom Beleg nicht gestützt.}}
Das ''Byte'' ist zudem ein [[Kunstwort]] und wurde wohl aus dem englischen ''{{lang|en|bit}}''<ref name="Duden" /> (deutsch „[das] Bisschen“ oder „Häppchen“) und ''{{lang|en|bite}}'' (zu deutsch: „[der] Bissen“ oder „Happen“) [[Wortbildung|gebildet]].<ref>{{Webarchiv |url=https://www.duden.de/woerterbuch/englisch-deutsch/bite |text=bite |wayback=20161119060016 |archiv-bot=}} (englisch-deutsch) – ''Duden'', Langenscheidt, 2015</ref> Verwendet wurde es, um eine Speichermenge oder Datenmenge zu kennzeichnen, die ausreicht, um ein Zeichen darzustellen. Der Begriff wurde im Juni 1956 von [[Werner Buchholz (Ingenieur)|Werner Buchholz]] in einer frühen Designphase des [[IBM 7030 Stretch|IBM-7030-Stretch]]-Computers geprägt,<ref name="Buchholz_1956_1" /><ref name="Buchholz_1956_2" /><ref name="Bemer_2000" /> wobei die Schreibweise von ''bite'' zu ''byte'' geändert wurde, um zu vermeiden, dass es sich versehentlich zu ''bit'' ändere.<ref name="Fenwick" /> Im Original beschrieb es eine wählbare Breite von ein bis sechs Bits (damit konnten <math>2^6 = 64</math> Zustände, z.&nbsp;B. Zeichen, dargestellt werden) und stellte die kleinste direkt adressierbare Speichereinheit eines entsprechenden Computers dar.<ref name="Blaauw_1959" /><ref name="Buchholz_1962" /><ref name="Buchholz_1977" /> Im August 1956 wurde die Definition auf ein bis acht Bits aufgeweitet (damit konnten dann <math>2^8 = 256</math> Zeichen dargestellt werden).<ref name="Buchholz_1977" /><ref name="Buchholz_1956_3" /><ref name="Bemer_1959" /> So konnte man die Buchstaben und gängige Sonderzeichen zum Beispiel in Quelltexten von Programmen oder anderen Texten speichern (also verschiedene Zeichen).
In den 1960er Jahren wurde der sich in seiner Verwendung schnell ausbreitende [[American Standard Code for Information Interchange|ASCII]] definiert, welcher sieben Bits zur Kodierung eines Zeichens verwendet (das sind <math>2^7 = 128</math> Zeichen). Später wurden durch Nutzung des meist sowieso vorhandenen achten (höchstwertigen) Bits erweiterte, auf dem ASCII basierende Zeichensätze entwickelt, die auch die häufigsten internationalen [[Diakritika]] abbilden können, wie zum Beispiel die [[Codepage 437]]. In diesen erweiterten Zeichensätzen entspricht jedes Zeichen exakt einem Byte mit acht Bit, wobei die ersten 128 Zeichen exakt dem ASCII entsprechen.
In den 1960er und 1970er Jahren war in Westeuropa auch die Bezeichnung ''Oktade'' geläufig, wenn speziell 8&nbsp;Bit gemeint waren. Diese Bezeichnung geht möglicherweise auf den niederländischen Hersteller Philips zurück, in dessen Unterlagen zu Mainframe-Computern sich die Bezeichnung ''Oktade'' (bzw. englisch ''oktad[s]'') regelmäßig findet.<ref name="Philips" /><ref name="Williams" />
Seit Anfang der 1970er Jahre gibt es 4-Bit-Mikroprozessoren, deren 4-Bit-[[Datenwort|Datenwörter]] (auch [[Nibble]]s genannt) mit [[Hexadezimalsystem|hexadezimalen Ziffern]] dargestellt werden können. 8-Bit-Prozessoren wurden schon kurz nach der Erfindung der [[Programmiersprache]]n [[C (Programmiersprache)|C]] und [[Pascal (Programmiersprache)|Pascal]] eingeführt, also Anfang der 1970er Jahre, und waren in [[Heimcomputer]]n bis in die 1980er Jahre im Einsatz (bei [[Eingebettetes System|eingebetteten Systemen]] auch heute noch), deren 8-Bit-Datenwörter (respektive Bytes) mit genau zwei hexadezimalen Ziffern dargestellt werden können. Seitdem hat sich die Breite der Datenwörter von [[Hardware]] von 4 über 8, 16, 32 bis heute zu 64 und 128&nbsp;Bit hin immer wieder verdoppelt.
Zur Unterscheidung der ursprünglichen Bedeutung als kleinste adressierbare Informationseinheit und der Bedeutung als 8-Bit-[[Tupel (Informatik)|Tupel]] wird in der Fachliteratur (abhängig vom Fachgebiet) korrekterweise auch der Begriff [[Oktett (Informatik)|Oktett]] für letzteres benutzt, um eine klare Trennung zu erzielen.
== Praktische Verwendung ==
In der elektronischen Datenverarbeitung bezeichnet man die kleinstmögliche Speichereinheit als [[Bit]]. Ein Bit kann zwei mögliche Zustände annehmen, die meist als „Null“ und „Eins“ bezeichnet werden. In vielen Programmiersprachen wird für ein einzelnes Bit der [[Datentyp]] „[[Boolesche Variable|boolean]]“ (respektive „Boolean“ oder „BOOLEAN“) verwendet. Aus technischen Gründen erfolgt die tatsächliche Abbildung eines Boolean aber meist in Form eines [[Datenwort]]es („{{lang|en|WORD}}“).
Acht solcher Bits werden zu einer Einheit –&nbsp;einem Datenpäckchen&nbsp;– zusammengefasst und allgemein Byte genannt. Die offizielle ISO-konforme Bezeichnung lautet dagegen Oktett: 1&nbsp;Oktett = 1&nbsp;Byte = 8&nbsp;Bit. Viele [[Programmiersprache]]n unterstützen einen Datentyp mit dem Namen „byte“ (respektive „Byte“ oder „BYTE“), wobei zu beachten ist, dass dieser je nach [[Definition]] als [[Integer (Datentyp)|ganze Zahl]], als [[Menge (Datenstruktur)|Bitmenge]], als Element eines [[Zeichensatz]]es oder bei [[Typsicherheit|typunsicheren]] Programmiersprachen sogar gleichzeitig für mehrere dieser Datentypen verwendet werden kann, sodass keine [[Zuweisungskompatibilität]] mehr gegeben ist.
Das Byte ist die Standardeinheit, um [[Speicherkapazität]]en oder Datenmengen zu bezeichnen. Dazu gehören Dateigrößen, die Kapazität von permanenten Speichermedien ([[Festplattenlaufwerk]]e, [[Compact Disk|CDs]], [[DVD]]s, [[Blu-ray Disc]]s, [[Diskette]]n, [[USB-Massenspeicher]]geräte usw.) und die Kapazität von vielen flüchtigen Speichern (zum Beispiel [[Halbleiterspeicher#Wahlfreier Zugriff|Arbeitsspeicher]]). Übertragungsraten (zum Beispiel die maximale Geschwindigkeit eines Internet-Anschlusses) gibt man dagegen üblicherweise auf der Basis von Bits an.
== {{Anker|Präfixe|Einheiten für große Mengen Byte|Einheiten für große Mengen Bytes}} Bedeutungen von Dezimal- und Binärpräfixen für große Anzahlen von Byte ==
=== SI-Präfixe ===
{{Hauptartikel|Vorsätze für Maßeinheiten}}
Für [[Datenspeicher]] mit [[Dualsystem|binärer]] [[Adressierung (Rechnerarchitektur)|Adressierung]] ergeben sich technisch [[Speicherkapazität]]en basierend auf Zweierpotenzen (2<sup>''n''</sup>&nbsp;Byte). Da es bis 1996 keine speziellen [[Vorsätze für Maßeinheiten|Einheitenvorsätze]] für Zweierpotenzen gab, war es üblich, die eigentlich dezimalen [[Vorsätze für Maßeinheiten|SI-Präfixe]] im Zusammenhang mit Speicherkapazitäten zur Bezeichnung von Zweierpotenzen zu verwenden (mit Faktor 2<sup>10</sup>&nbsp;=&nbsp;1024 statt 1000). Heutzutage sollten die SI-Präfixe nur noch in Verbindung mit der dezimalen Angabe der Speichergrößen benutzt werden. Beispiele:
* 1&nbsp;Kilobyte&nbsp;(kB) = 1000&nbsp;Byte
* 1&nbsp;Megabyte&nbsp;(MB) = 1000&nbsp;Kilobyte = 1000 × 1000&nbsp;Byte = 1.000.000&nbsp;Byte
Bei [[Festplattenlaufwerk|Hard Drive Disks]], [[Solid-State-Drive|SSD-Laufwerken]] und anderen Speichermedien ist dies weit verbreitet. Für Arbeitsspeicher (RAM), Grafikspeicher und Prozessor-Caches hingegen, die technisch binär arbeiten, werden oft noch SI-Präfixe für Zweierpotenzen verwendet.
=== Binär- oder IEC-Präfixe ===
{{Hauptartikel|Binärpräfix}}
Um Mehrdeutigkeiten zu vermeiden, schlug die [[International Electrotechnical Commission|IEC]] 1996 neue Einheitenvorsätze vor, die nur in der binären Bedeutung verwendet werden sollten.<ref>Vgl. internationale Norm IEC&nbsp;60027-2:2005, 3. Auflage. Letter symbols to be used in electrical technology – Part 2: Telecommunications and electronics veröffentlicht. Mittlerweile übernommen durch die weltweite IEC-Norm IEC&nbsp;80000-13:2008 (bzw. DIN [[Europäische Norm|EN]] 80000-13:2009-01)</ref> Dabei wird eine den SI-Präfixen ähnlich lautende Vorsilbe ergänzt um die Silbe „bi“, die klarstellt, dass es sich um binäre Vielfache handelt. Beispiele:
* 1&nbsp;Kibibyte&nbsp;(KiB) = 1024&nbsp;Byte
* 1&nbsp;Mebibyte&nbsp;(MiB) = 1024 × 1024&nbsp;Byte = 1.048.576&nbsp;Byte.
Das für die SI-Präfixe zuständige [[Internationales Büro für Maß und Gewicht|Internationale Büro für Maß und Gewicht]] (BIPM) empfiehlt diese Schreibweise,<ref name="SI" /> auch wenn es nicht für ''Byte'' zuständig ist, da dies keine [[SI-Einheit]] ist. Viele weitere Standardisierungsorganisationen haben sich dieser Empfehlung angeschlossen.
Unter Unix-artigen Systemen finden sich oft die abweichenden einsilbigen großgeschriebenen [[Vorsätze für Maßeinheiten|Vorsätze]] als Abkürzungen, also z.&nbsp;B. K für KiB und M für MiB.
=== Vergleich ===
Von einem Präfix zum Nächsten wird das Verhältnis von Binär zu Dezimal um einen Faktor <math> 2^{10}/10^{3} </math> größer. So beträgt es zwischen KiB und kB 2,4 %, zwischen TiB und TB hingegen bereits ≈10,0 %.
{{Byte}}
=== Kapazitätsangaben bei Speichermedien ===
Massenspeichermedien, wie [[Festplattenlaufwerk|Festplatten]], [[DVD]]-Rohlingen und [[USB-Massenspeicher#USB-Speicherstick|USB-Speicher-Sticks]], mit vorgeschalter komplexer Firmware lassen sich in praktisch beliebig fein abgestufter Größe herstellen. Dort hat sich die Herstellung in glatten, gut vermarktbaren Größen durchgesetzt. Die Hersteller verwenden Dezimalpräfixe. RAM-Hauptspeicher und Cache-Speicher von CPUs, auf die in ihrer ziemlich ursprünglichen Form zugegriffen wird, werden als glatte Werte mit Binärpräfixen angegeben, SI-Präfixe wären hier unpraktisch. Für Kunden ist dessen genaue Größe meist irrelevant, da sie mit diesen Größen selten direkt in Kontakt kommen.
Wenn die Binärpräfixe nicht normgerecht geschrieben werden, ergeben sich Probleme: Ein mit „4,7&nbsp;GB“ gekennzeichneter DVD-Rohling wird von mancher Software, zum Beispiel dem [[Windows-Explorer]], mit dem Wert von „4,38&nbsp;GB“ angezeigt – richtig wäre hier „4,38&nbsp;GiB“ –, obwohl rund 4,7&nbsp;Gigabyte (4.700.000.000&nbsp;Byte) gemeint sind. Ebenso wird eine mit „1&nbsp;TB“ spezifizierte Festplatte mit der scheinbar deutlich kleineren Kapazität von etwa „931&nbsp;GB“ oder „0,9&nbsp;TB“ erkannt (auch hier sollte eigentlich „931&nbsp;GiB“, beziehungsweise „0,9&nbsp;TiB“ angezeigt werden), obwohl jeweils rund 1,0&nbsp;Terabyte (1.000.000.000.000&nbsp;Byte) gemeint sind. Andererseits enthält ein mit „700&nbsp;MB“ gekennzeichneter CD-Rohling tatsächlich 700&nbsp;MiB (734.003.200&nbsp;Byte), also etwa 734&nbsp;MB (und sollte somit streng genommen mit „700&nbsp;MiB“ ausgezeichnet werden).
Vor allem weil die Speicher-Kapazitäten der Hersteller meist nur mit SI-Präfix angegeben sind, kann es gerade in Verbindung mit Microsoft-Systemen zu Verwirrung kommen. Denn Microsoft rechnet für Datengrößen immer mit Zweierpotenzen, gibt diese dann aber mit Hilfe der SI-Präfixe an. So wird also ein 128-GB-Speichermedium als 119,2&nbsp;GB angezeigt, obwohl es laut IEC 119,2&nbsp;GiB lauten müsste. Hinzu kommt die Verwirrung der Benutzer, dass laut Microsoft 120&nbsp;GB (eigentlich 120&nbsp;GiB) nicht auf ein mit 128&nbsp;GB beworbenes Speichermedium passen und ein Fehler ausgegeben wird. Vergleich:
* 128&nbsp;GB = 128.000.000.000&nbsp;Byte sind weniger(!) als
* 120&nbsp;GiB = 128.849.018.880&nbsp;Byte = 120 × 1024<sup>3</sup>&nbsp;Byte
Apples [[macOS]] benutzt ab Version [[Mac OS X Snow Leopard]] (10.6)<ref name="Mac" /> einheitlich Dezimalpräfixe nur in dezimaler Bedeutung. [[KDE Software Compilation 4|KDE]] folgt dem IEC-Standard und lässt dem Anwender die Wahl zwischen binärer und dezimaler Angabe. Für Linux-Distributionen mit anderen Desktopumgebungen, wie zum Beispiel [[Ubuntu (Betriebssystem)|Ubuntu]] ab Version 11.04,<ref name="Ubuntu" /> gibt es klare Richtlinien, wie Anwendungen Datenmengen angeben sollen; hier findet man beide Angaben, wobei die Binärpräfixe überwiegen.
[[Unix-Shell]]s nutzen normalerweise [[Datenblock|Datenblöcke]] als Einheit. Optional wird auch eine lesbarere Darstellungsform, ''{{lang|en|human readable}}'' bezeichnet, angeboten, normalerweise die binäre Einheit, wobei jedoch abweichend von der IEC-Vorgabe nur die [[Vorsätze für Maßeinheiten|Vorsätze]] der Maßeinheiten in Großbuchstaben als Einheit angegeben werden, also K für KiB, M für MiB usw. Es gibt jedoch auch oft die Möglichkeit, SI-Einheiten zu wählen, dann in der korrekten, jedoch großgeschriebenen Einheit, also KB, MB usw.
Die in den 1980er und 1990er Jahren verbreitete 3,5-Zoll-[[Diskette]] verwendete eine binär-dezimale Mischform: die nominellen „1,44&nbsp;MB“ bedeuteten {{nowrap|1=1440 × 1024&nbsp;Byte}} = 1440&nbsp;KiB.
== Siehe auch ==
* [[Bytemaschine]]
* [[Zettabyte-Ära]]
== Weblinks ==
{{Wiktionary}}
* [http://physics.nist.gov/cuu/Units/binary.html ''Prefixes for binary multiples''.] (englisch)
* [http://mathworld.wolfram.com/Byte.html „Byte“ From MathWorld] (englisch)
* Konrad Lischka: ''[https://www.spiegel.de/netzwelt/tech/technikaergernis-masseinheiten-warum-festplatten-ploetzlich-schrumpfen-a-606308.html Warum Festplatten plötzlich schrumpfen.]'' [[Spiegel Online]], 9. Februar 2009 (Reihe „Technikärgernis“).
* [http://de.unitjuggler.com/memory-umwandeln-von-MiB-nach-MB.html UnitJuggler] Konvertieren zwischen den verschiedenen Bytegrößen
* [http://www.lerneprogrammieren.com/blog/theorie/bits-bytes Beispielhafte Umrechnung eines Bytes in das Dezimalsystem]
== Einzelnachweise ==
<references responsive>
<ref name="Bemer_1959">
{{cite journal |last=Bemer |first=Robert William |authorlink=Bob Bemer |year=1959 |title=A proposal for a generalized card code of 256 characters |journal=Communications of the ACM |volume=2 |issue=9 |pages=19–23 |doi=10.1145/368424.368435 |language=en}}
</ref>
<ref name="Bemer_2000">
{{Internetquelle |autor=Robert William Bemer |url=http://www.bobbemer.com/BYTE.HTM |titel=Why is a byte 8 bits? Or is it? |werk=Computer History Vignettes |datum=2000-08-08 |archiv-url=https://web.archive.org/web/20170403130829/http://www.bobbemer.com/BYTE.HTM |archiv-datum=2017-04-03 |abruf=2018-09-15 |zitat=[…] I came to work for IBM, and saw all the confusion caused by the 64-character limitation. Especially when we started to think about word processing, which would require both upper and lower case. […] I even made a proposal (in view of STRETCH, the very first computer I know of with an 8-bit byte) that would extend the number of punch card character codes to 256 […] So some folks started thinking about 7-bit characters, but this was ridiculous. With IBM's STRETCH computer as background, handling 64-character words divisible into groups of 8 (I designed the character set for it, under the guidance of Dr. [[Werner Buchholz (Ingenieur)|Werner Buchholz]], the man who DID coin the term „byte“ for an 8-bit grouping). […] It seemed reasonable to make a universal 8-bit character set, handling up to 256. In those days my mantra was „powers of 2 are magic“. And so the group I headed developed and justified such a proposal […] The IBM 360 used 8-bit characters, although not ASCII directly. Thus Buchholz’s „byte“ caught on everywhere. I myself did not like the name for many reasons. The design had 8 bits moving around in parallel. But then came a new IBM part, with 9 bits for self-checking, both inside the CPU and in the tape drives. I exposed this 9-bit byte to the press in 1973. But long before that, when I headed software operations for Cie. Bull in France in 1965–1966, I insisted that „byte“ be deprecated in favor of „[[Oktett (Informatik)|octet]]“. […] It is justified by new communications methods that can carry 16, 32, 64, and even 128 bits in parallel. But some foolish people now refer to a „16-bit byte“ because of this parallel transfer, which is visible in the UNICODE set. I’m not sure, but maybe this should be called a „[[hextet]]“. […]}}
</ref>
<ref name="Blaauw_1959">
{{cite journal |author=Gerrit Anne Blaauw, Frederick Phillips Brooks Jr., Werner Buchholz |title=Processing Data in Bits and Pieces |journal=IRE Transactions on Electronic Computers |pages=121 |date=1959-06 |language=en}}
</ref>
<ref name="Buchholz_1956_1">
{{Literatur |Autor=Werner Buchholz |Titel=The Link System |Verlag=[[IBM]] |Datum=1956-06-11 |Kapitel=7. The Shift Matrix |Seiten=5–6 |Online=[https://web.archive.org/web/20170404152534/http://archive.computerhistory.org/resources/text/IBM/Stretch/pdfs/06-07/102632284.pdf archive.org] |Format=PDF |KBytes=639 |Abruf=2022-10-01 |Zitat=[…] Most important, from the point of view of editing, will be the ability to handle any characters or digits, from 1 to 6 bits long.<br />Figure 2 shows the Shift Matrix to be used to convert a 60-bit word, coming from Memory in parallel, into characters, or „bytes“ as we have called them, to be sent to the Adder serially. The 60 bits are dumped into magnetic cores on six different levels. Thus, if a 1 comes out of position 9, it appears in all six cores underneath. Pulsing any diagonal line will send the six bits stored along that line to the Adder. The Adder may accept all or only some of the bits.<br />Assume that it is desired to operate on 4 bit decimal digits, starting at the right. The 0-diagonal is pulsed first, sending out the six bits 0 to 5, of which the Adder accepts only the first four (0-3). Bits 4 and 5 are ignored. Next, the 4 diagonal is pulsed. This sends out bits 4 to 9, of which the last two are again ignored, and so on.<br />It is just as easy to use all six bits in alphanumeric work, or to handle bytes of only one bit for logical analysis, or to offset the bytes by any number of bits. All this can be done by pulling the appropriate shift diagonals. An analogous matrix arrangement is used to change from serial to parallel operation at the output of the adder. […]}}
</ref>
<ref name="Buchholz_1956_2">
{{Literatur |Autor=Werner Buchholz |Titel=Memory Word Length |Verlag=[[IBM]] |Datum=1956-07-31 |Kapitel=5. Input-Output |Seiten=2 |Online=[https://web.archive.org/web/20170404160423/http://archive.computerhistory.org/resources/text/IBM/Stretch/pdfs/06-08/102632289.pdf archive.org] |Format=PDF |KBytes=239 |Abruf=2022-10-01 |Zitat=[…] 60 is a multiple of 1, 2, 3, 4, 5, and 6. Hence bytes of length from 1 to 6 bits can be packed efficiently into a 60-bit word without having to split a byte between one word and the next. If longer bytes were needed, 60 bits would, of course, no longer be ideal. With present applications, 1, 4, and 6 bits are the really important cases.<br />With 64-bit words, it would often be necessary to make some compromises, such as leaving 4 bits unused in a word when dealing with 6-bit bytes at the input and output. However, the LINK Computer can be equipped to edit out these gaps and to permit handling of bytes which are split between words. […]}}
</ref>
<ref name="Buchholz_1956_3">
{{Literatur |Autor=Werner Buchholz |Titel=Memory Word Length and Indexing |Verlag=[[IBM]] |Datum=1956-09-19 |Kapitel=2. Input-Output Byte Size |Seiten=1 |Online=[https://web.archive.org/web/20170404161611/http://archive.computerhistory.org/resources/text/IBM/Stretch/pdfs/06-08/102632292.pdf webarchive.org] |Format=PDF |KBytes=227 |Abruf=2022-10-01 |Zitat=[…] The maximum input-output byte size for serial operation will now be 8 bits, not counting any error detection and correction bits. Thus, the Exchange will operate on an 8-bit byte basis, and any input-output units with less than 8 bits per byte will leave the remaining bits blank. The resultant gaps can be edited out later by programming […]}}
</ref>
<ref name="Buchholz_1962">
{{Literatur |Autor=Gerrit Anne Blaauw, Frederick Phillips Brooks, Jr., Werner Buchholz |Titel=Planning a Computer System – Project Stretch |Verlag=McGraw-Hill Book Company / The Maple Press Company, York PA. |Datum=1962 |Kapitel=4: Natural Data Units |Seiten=39–40 |Online=[https://web.archive.org/web/20170403014651/http://archive.computerhistory.org/resources/text/IBM/Stretch/pdfs/Buchholz_102636426.pdf archive.org] |Format=PDF |KBytes=22635 |Abruf=2022-10-01 |Zitat=[…] Terms used here to describe the structure imposed by the machine design, in addition to ''bit'', are listed below.<br />''Byte'' denotes a group of bits used to encode a character, or the number of bits transmitted in parallel to and from input-output units. A term other than ''character'' is used here because a given character may be represented in different applications by more than one code, and different codes may use different numbers of bits (i.&nbsp;e., different byte sizes). In input-output transmission the grouping of bits may be completely arbitrary and have no relation to actual characters. (The term is coined from ''bite'', but respelled to avoid accidental mutation to ''bit''.)<br />A ''word'' consists of the number of data bits transmitted in parallel from or to memory in one memory cycle. Word size is thus defined as a structural property of the memory. (The term ''catena'' was coined for this purpose by the designers of the Bull Gamma 60 computer.)<br />''Block'' refers to the number of words transmitted to or from an input-output unit in response to a single input-output instruction. Block size is a structural property of an input-output unit; it may have been fixed by the design or left to be varied by the program. […]}}
</ref>
<ref name="Buchholz_1977">
{{cite journal |last=Buchholz |first=Werner |authorlink=Werner Buchholz (Ingenieur) |title=The Word „Byte“ Comes of Age... |journal=Byte Magazine |volume=2 |issue=2 |pages=144 |date=1977-02 |url=https://archive.org/stream/byte-magazine-1977-02/1977_02_BYTE_02-02_Usable_Systems#pages/n145/mode/2up |quote=[…] The first reference found in the files was contained in an internal memo written in June 1956 during the early days of developing Stretch. A byte was described as consisting of any number of parallel bits from one to six. Thus a byte was assumed to have a length appropriate for the occasion. Its first use was in the context of the input-output equipment of the 1950s, which handled six bits at a time. The possibility of going to 8 bit bytes was considered in August 1956 and incorporated in the design of Stretch shortly thereafter. The first published reference to the term occurred in 1959 in a paper „Processing Data in Bits and Pieces“ by [[Gerrit Blaauw|G&nbsp;A&nbsp;Blaauw]], [[Frederick P. Brooks|F&nbsp;P&nbsp;Brooks&nbsp;Jr]] and [[Werner Buchholz (Ingenieur)|W&nbsp;Buchholz]] in the ''IRE Transactions on Electronic Computers'', June 1959, pages 121. The notions of that paper were elaborated in Chapter 4 of ''Planning a Computer System (Project Stretch)'', edited by W&nbsp;Buchholz, McGraw-Hill Book Company (1962). The rationale for coining the term was explained there on pages 40 as follows:<br />Byte ''denotes a group of bits used to encode a character, or the number of bits transmitted in parallel to and from input-output units. A term other than ''character'' is used here because a given character may be represented in different applications by more than one code, and different codes may use different numbers of bits (ie, different byte sizes). In input-output transmission the grouping of bits may be completely arbitrary and have no relation to actual characters. (The term is coined from ''bite'', but respelled to avoid accidental mutation to ''bit''.)''<br />System/360 took over many of the Stretch concepts, including the basic byte and word sizes, which are powers of 2. For economy, however, the byte size was fixed at the 8 bit maximum, and addressing at the bit level was replaced by byte addressing. […] Since then the term byte has generally meant 8 bits, and it has thus passed into the general vocabulary. […] |language=en}}
</ref>
<ref name="C">
{{Internetquelle |url=http://www.open-std.org/JTC1/SC22/WG14/www/C99RationaleV5.10.pdf |titel=Rationale for International Standard – Programming Languages – C |datum=2003-04 |seiten=11 |abruf=2009-11-28 |format=PDF; 898&nbsp;kB |sprache=en}}
</ref>
<ref name="Fenwick">
{{Internetquelle |autor=Peter Fenwick |url=https://books.google.de/books?id=j_0QDgAAQBAJ&pg=PA231&dq=Werner+Buchholz+IBM+7030+Stretch+Bite&hl=de&sa=X&redir_esc=y#v=onepage&q=Werner%20Buchholz%20IBM%207030%20Stretch%20Bite&f=false |titel=Introduction to Computer Data Representation |werk=books.google.de |seiten=231 |abruf=2017-11-02}}
</ref>
<ref name="Mac">
{{Internetquelle |autor=Eric Schäfer |url=http://www.maclife.de/news/betriebssystem/andere/dateigroessen-snow-leopard-zaehlt-anders |titel=Dateigrößen: Snow Leopard zählt anders. |werk=Mac Life |datum=2009-08-28 |abruf=2009-08-28}}
</ref>
<ref name="Philips">{{Internetquelle |url=http://www.vintage-calculators.nl/Philips%20productoverzicht%201971.pdf |titel=Philips Data Systems’ product range – April 1971 |hrsg=Philips |datum=1971 |format=PDF; 4,8 MB |sprache=en |offline= |archiv-url= |archiv-datum= |archiv-bot= |abruf=2023-09-10}}</ref>
<ref name="SI">
[https://www.bipm.org/en/publications/si-brochure ''Le Système international d’unités''.] 9e&nbsp;édition, 2019 (die sogenannte „SI-Broschüre“), Kapitel&nbsp;3, S.&nbsp;31 (französisch) und S.&nbsp;143 (englisch) – Randnotiz.
</ref>
<ref name="Ubuntu">
{{Internetquelle |url=https://wiki.ubuntu.com/UnitsPolicy |titel=UnitsPolicy |hrsg=Ubuntu |abruf=2010-04-24 |sprache=en}}
</ref>
<ref name="Williams">
{{Literatur |Autor=R. H. Williams |Titel=British Commercial Computer Digest: Pergamon Computer Data Series |Verlag=Pergamon Press |Datum=1969 |Sprache=en |Seiten=308}}
</ref>
</references>
[[Kategorie:Datentyp]]
[[Kategorie:Computerarithmetik]]
[[Kategorie:Compilerbau]]
[[Kategorie:Informationseinheit]]
[[Kategorie:Zeichenkodierung]]
[[Kategorie:Zeichenkodierung]]
</noinclude>

Version vom 28. Dezember 2023, 15:52 Uhr

topic - Kurzbeschreibung

Beschreibung

Installation

Syntax

Optionen

Parameter

Umgebungsvariablen

Exit-Status

Anwendung

Fehlerbehebung

Konfiguration

Dateien

Anhang

Siehe auch

Sicherheit

Dokumentation

RFC
RFC Titel
6146 Stateful NAT64
6147 DNS64
5942 IPv6 Subnet Model: The Relationship between Links and Subnet Prefixes
Man-Pages
Info-Pages

Links

Projekt
Weblinks

Vorlage:Dieser Artikel

Das Byte ([[[:Vorlage:IPA]]]; wohl gebildet zu „Bit“)[1] ist eine Maßeinheit der Digitaltechnik und der Informatik, das meist für eine Folge aus 8 Bit steht.

Historisch gesehen war ein Byte die Anzahl der Bits zur Kodierung eines einzelnen Schriftzeichens im jeweiligen Computersystem und daher das kleinste adressierbare Element in vielen Rechnerarchitekturen.

Um ausdrücklich auf eine Anzahl von 8 Bit hinzuweisen, wird auch die Bezeichnung Oktett (in Frankreich octet) verwendet – die früher dafür ebenfalls gängige Bezeichnung Oktade ist hingegen nicht mehr geläufig.

Abgrenzung

Was genau ein Byte bezeichnet, wird je nach Anwendungsgebiet etwas unterschiedlich definiert. Der Begriff kann stehen für:

  • eine Maßeinheit für eine Datenmenge von 8 Bit mit dem Einheitenzeichen „B“,[2] wobei es nicht auf die Ordnung der einzelnen Bits ankommt.
    Das Einheitszeichen sollte nicht mit dem zur Einheit Bel gehörenden Einheitszeichen „B“ verwechselt werden.
  • eine geordnete Zusammenstellung (n-Tupel) von 8 Bit, deren formale ISO-konforme Bezeichnung Oktett ist (1 Byte = 8 Bit). Ein Oktett wird manchmal in zwei Hälften (Nibbles) zu je 4 Bit zerlegt, wobei jedes Nibble durch eine hexadezimale Ziffer darstellbar ist. Ein Oktett kann also durch zwei Hexadezimalziffern dargestellt werden.
  • die kleinste, meist per Adressbus adressierbare, Datenmenge eines bestimmten technischen Systems. Die Anzahl an Bits pro Zeichen ist dabei fast immer eine natürliche Zahl. Beispiele:
    • bei Telex: 1 Zeichen = 5 Bit
    • bei Rechnern der Familien PDP: 1 Zeichen = log2(50) Bit = zirka 5,644 Bit (Radix-50-Code). Ergibt gegenüber 6 Bit eine Ersparnis von wenigen Bits pro Zeichenkette, die beispielsweise für Steuerungszwecke genutzt werden können. Allerdings gehen die Byte-Grenzen mitten durch die Bits, was die Analyse von Inhalten erschweren kann.
    • bei IBM 1401: 1 Zeichen = 6 Bit
    • bei ASCII: 1 Zeichen = 7 Bit
    • bei IBM-PC: 1 Zeichen = 8 Bit = 1 Oktett
    • bei Nixdorf 820: 1 Zeichen = 12 Bit
    • bei Rechnersystemen der Typen UNIVAC 1100/2200 und OS2200 Series: 1 Zeichen = 9 Bit (ASCII-Code) beziehungsweise 6 Bit (FIELDATA-Code)
    • bei Rechnern der Familie PDP-10: 1 Zeichen = 1…36 Bit, Bytelänge frei wählbar
  • einen Datentyp in Programmiersprachen. Die Anzahl an Bits pro Byte kann je nach Programmiersprache und Plattform variieren (meistens 8 Bit).
  • ISO-C99 definiert 1 Byte als eine zusammenhängende Folge von mindestens 8 Bit.[3]

Bei den meisten heutigen Rechnern fallen diese Definitionen (kleinste adressierbare Einheit, Datentyp in Programmiersprachen, C-Datentyp) zu einer einzigen zusammen und sind dann von identischer Größe.

Der Begriff „Byte“ wird aufgrund der großen Verbreitung von Systemen, die auf acht Bit (beziehungsweise Zweierpotenzvielfache davon) basieren, für die Bezeichnung einer 8 Bit breiten Größe verwendet, die in formaler Sprache (entsprechend ISO-Normen) aber korrekt Oktett (aus ) heißt. Als Maßeinheit bei Größenangaben wird in der deutschen Sprache der Begriff „Byte“ (im Sinne von 8 bit) verwendet. Bei der Übertragung kann ein Byte parallel (alle Bits gleichzeitig) oder seriell (alle Bits nacheinander) übertragen werden. Zur Sicherung der Richtigkeit werden oft Prüfbits angefügt. Bei der Übertragung größerer Mengen sind weitere Kommunikationsprotokolle möglich. So werden bei 32-Bit-Rechnern oft 32 Bits (vier Byte) gemeinsam in einem Schritt übertragen, auch wenn nur ein 8-Bit-Tupel übertragen werden muss. Das ermöglicht eine Vereinfachung der zur Berechnung erforderlichen Algorithmen und einen kleineren Befehlssatz des Computers.

Wie bei anderen Maßeinheiten gibt es neben dem ausgeschriebenen Namen der Maßeinheiten jeweils auch ein Einheitenkürzel. Bei Bit und Byte sind dies:

Kürzel ausgeschriebener Name
bit (selten „b“) Bit
B (selten „byte“) Byte

Der ausgeschriebene Name unterliegt grundsätzlich der normalen Deklination. Aufgrund der großen Ähnlichkeit der Kürzel mit den ausgeschriebenen Einheitennamen sowie entsprechender Pluralformen in der englischen Sprache werden jedoch gelegentlich auch die Einheitenkürzel „bit“ und „byte“ mit Plural-s versehen.

Geschichte des Begriffs

Das Bit ist ein Kofferwort aus den englischen Wörtern Vorlage:Lang und Vorlage:Lang,[4] heißt also „zweiwertige Ziffer“ – Null oder Eins. Dessen Bestandteile lassen sich auf die lateinischen Wörter digitus (Finger), den bzw. die man seit der Antike zum Zählen verwendet (vgl. Plautus: Vorlage:Lang), und lateinisch (genauer neulateinisch) binarius (zweifach), vergleiche lateinisch bis (zweimal), zurückführen.

Vorlage:Belege fehlen

Das Byte ist zudem ein Kunstwort und wurde wohl aus dem englischen Vorlage:Lang[1] (deutsch „[das] Bisschen“ oder „Häppchen“) und Vorlage:Lang (zu deutsch: „[der] Bissen“ oder „Happen“) gebildet.[5] Verwendet wurde es, um eine Speichermenge oder Datenmenge zu kennzeichnen, die ausreicht, um ein Zeichen darzustellen. Der Begriff wurde im Juni 1956 von Werner Buchholz in einer frühen Designphase des IBM-7030-Stretch-Computers geprägt,[6][7][8] wobei die Schreibweise von bite zu byte geändert wurde, um zu vermeiden, dass es sich versehentlich zu bit ändere.[9] Im Original beschrieb es eine wählbare Breite von ein bis sechs Bits (damit konnten Zustände, z. B. Zeichen, dargestellt werden) und stellte die kleinste direkt adressierbare Speichereinheit eines entsprechenden Computers dar.[10][11][12] Im August 1956 wurde die Definition auf ein bis acht Bits aufgeweitet (damit konnten dann Zeichen dargestellt werden).[12][13][14] So konnte man die Buchstaben und gängige Sonderzeichen zum Beispiel in Quelltexten von Programmen oder anderen Texten speichern (also verschiedene Zeichen).

In den 1960er Jahren wurde der sich in seiner Verwendung schnell ausbreitende ASCII definiert, welcher sieben Bits zur Kodierung eines Zeichens verwendet (das sind Zeichen). Später wurden durch Nutzung des meist sowieso vorhandenen achten (höchstwertigen) Bits erweiterte, auf dem ASCII basierende Zeichensätze entwickelt, die auch die häufigsten internationalen Diakritika abbilden können, wie zum Beispiel die Codepage 437. In diesen erweiterten Zeichensätzen entspricht jedes Zeichen exakt einem Byte mit acht Bit, wobei die ersten 128 Zeichen exakt dem ASCII entsprechen.

In den 1960er und 1970er Jahren war in Westeuropa auch die Bezeichnung Oktade geläufig, wenn speziell 8 Bit gemeint waren. Diese Bezeichnung geht möglicherweise auf den niederländischen Hersteller Philips zurück, in dessen Unterlagen zu Mainframe-Computern sich die Bezeichnung Oktade (bzw. englisch oktad[s]) regelmäßig findet.[15][16]

Seit Anfang der 1970er Jahre gibt es 4-Bit-Mikroprozessoren, deren 4-Bit-Datenwörter (auch Nibbles genannt) mit hexadezimalen Ziffern dargestellt werden können. 8-Bit-Prozessoren wurden schon kurz nach der Erfindung der Programmiersprachen C und Pascal eingeführt, also Anfang der 1970er Jahre, und waren in Heimcomputern bis in die 1980er Jahre im Einsatz (bei eingebetteten Systemen auch heute noch), deren 8-Bit-Datenwörter (respektive Bytes) mit genau zwei hexadezimalen Ziffern dargestellt werden können. Seitdem hat sich die Breite der Datenwörter von Hardware von 4 über 8, 16, 32 bis heute zu 64 und 128 Bit hin immer wieder verdoppelt.

Zur Unterscheidung der ursprünglichen Bedeutung als kleinste adressierbare Informationseinheit und der Bedeutung als 8-Bit-Tupel wird in der Fachliteratur (abhängig vom Fachgebiet) korrekterweise auch der Begriff Oktett für letzteres benutzt, um eine klare Trennung zu erzielen.

Praktische Verwendung

In der elektronischen Datenverarbeitung bezeichnet man die kleinstmögliche Speichereinheit als Bit. Ein Bit kann zwei mögliche Zustände annehmen, die meist als „Null“ und „Eins“ bezeichnet werden. In vielen Programmiersprachen wird für ein einzelnes Bit der Datentypboolean“ (respektive „Boolean“ oder „BOOLEAN“) verwendet. Aus technischen Gründen erfolgt die tatsächliche Abbildung eines Boolean aber meist in Form eines Datenwortes („Vorlage:Lang“).

Acht solcher Bits werden zu einer Einheit – einem Datenpäckchen – zusammengefasst und allgemein Byte genannt. Die offizielle ISO-konforme Bezeichnung lautet dagegen Oktett: 1 Oktett = 1 Byte = 8 Bit. Viele Programmiersprachen unterstützen einen Datentyp mit dem Namen „byte“ (respektive „Byte“ oder „BYTE“), wobei zu beachten ist, dass dieser je nach Definition als ganze Zahl, als Bitmenge, als Element eines Zeichensatzes oder bei typunsicheren Programmiersprachen sogar gleichzeitig für mehrere dieser Datentypen verwendet werden kann, sodass keine Zuweisungskompatibilität mehr gegeben ist.

Das Byte ist die Standardeinheit, um Speicherkapazitäten oder Datenmengen zu bezeichnen. Dazu gehören Dateigrößen, die Kapazität von permanenten Speichermedien (Festplattenlaufwerke, CDs, DVDs, Blu-ray Discs, Disketten, USB-Massenspeichergeräte usw.) und die Kapazität von vielen flüchtigen Speichern (zum Beispiel Arbeitsspeicher). Übertragungsraten (zum Beispiel die maximale Geschwindigkeit eines Internet-Anschlusses) gibt man dagegen üblicherweise auf der Basis von Bits an.

Vorlage:Anker Bedeutungen von Dezimal- und Binärpräfixen für große Anzahlen von Byte

SI-Präfixe

Vorlage:Hauptartikel Für Datenspeicher mit binärer Adressierung ergeben sich technisch Speicherkapazitäten basierend auf Zweierpotenzen (2n Byte). Da es bis 1996 keine speziellen Einheitenvorsätze für Zweierpotenzen gab, war es üblich, die eigentlich dezimalen SI-Präfixe im Zusammenhang mit Speicherkapazitäten zur Bezeichnung von Zweierpotenzen zu verwenden (mit Faktor 210 = 1024 statt 1000). Heutzutage sollten die SI-Präfixe nur noch in Verbindung mit der dezimalen Angabe der Speichergrößen benutzt werden. Beispiele:

  • 1 Kilobyte (kB) = 1000 Byte
  • 1 Megabyte (MB) = 1000 Kilobyte = 1000 × 1000 Byte = 1.000.000 Byte

Bei Hard Drive Disks, SSD-Laufwerken und anderen Speichermedien ist dies weit verbreitet. Für Arbeitsspeicher (RAM), Grafikspeicher und Prozessor-Caches hingegen, die technisch binär arbeiten, werden oft noch SI-Präfixe für Zweierpotenzen verwendet.

Binär- oder IEC-Präfixe

Vorlage:Hauptartikel Um Mehrdeutigkeiten zu vermeiden, schlug die IEC 1996 neue Einheitenvorsätze vor, die nur in der binären Bedeutung verwendet werden sollten.[17] Dabei wird eine den SI-Präfixen ähnlich lautende Vorsilbe ergänzt um die Silbe „bi“, die klarstellt, dass es sich um binäre Vielfache handelt. Beispiele:

  • 1 Kibibyte (KiB) = 1024 Byte
  • 1 Mebibyte (MiB) = 1024 × 1024 Byte = 1.048.576 Byte.

Das für die SI-Präfixe zuständige Internationale Büro für Maß und Gewicht (BIPM) empfiehlt diese Schreibweise,[18] auch wenn es nicht für Byte zuständig ist, da dies keine SI-Einheit ist. Viele weitere Standardisierungsorganisationen haben sich dieser Empfehlung angeschlossen.

Unter Unix-artigen Systemen finden sich oft die abweichenden einsilbigen großgeschriebenen Vorsätze als Abkürzungen, also z. B. K für KiB und M für MiB.

Vergleich

Von einem Präfix zum Nächsten wird das Verhältnis von Binär zu Dezimal um einen Faktor größer. So beträgt es zwischen KiB und kB 2,4 %, zwischen TiB und TB hingegen bereits ≈10,0 %.

Vorlage:Byte

Kapazitätsangaben bei Speichermedien

Massenspeichermedien, wie Festplatten, DVD-Rohlingen und USB-Speicher-Sticks, mit vorgeschalter komplexer Firmware lassen sich in praktisch beliebig fein abgestufter Größe herstellen. Dort hat sich die Herstellung in glatten, gut vermarktbaren Größen durchgesetzt. Die Hersteller verwenden Dezimalpräfixe. RAM-Hauptspeicher und Cache-Speicher von CPUs, auf die in ihrer ziemlich ursprünglichen Form zugegriffen wird, werden als glatte Werte mit Binärpräfixen angegeben, SI-Präfixe wären hier unpraktisch. Für Kunden ist dessen genaue Größe meist irrelevant, da sie mit diesen Größen selten direkt in Kontakt kommen.

Wenn die Binärpräfixe nicht normgerecht geschrieben werden, ergeben sich Probleme: Ein mit „4,7 GB“ gekennzeichneter DVD-Rohling wird von mancher Software, zum Beispiel dem Windows-Explorer, mit dem Wert von „4,38 GB“ angezeigt – richtig wäre hier „4,38 GiB“ –, obwohl rund 4,7 Gigabyte (4.700.000.000 Byte) gemeint sind. Ebenso wird eine mit „1 TB“ spezifizierte Festplatte mit der scheinbar deutlich kleineren Kapazität von etwa „931 GB“ oder „0,9 TB“ erkannt (auch hier sollte eigentlich „931 GiB“, beziehungsweise „0,9 TiB“ angezeigt werden), obwohl jeweils rund 1,0 Terabyte (1.000.000.000.000 Byte) gemeint sind. Andererseits enthält ein mit „700 MB“ gekennzeichneter CD-Rohling tatsächlich 700 MiB (734.003.200 Byte), also etwa 734 MB (und sollte somit streng genommen mit „700 MiB“ ausgezeichnet werden).

Vor allem weil die Speicher-Kapazitäten der Hersteller meist nur mit SI-Präfix angegeben sind, kann es gerade in Verbindung mit Microsoft-Systemen zu Verwirrung kommen. Denn Microsoft rechnet für Datengrößen immer mit Zweierpotenzen, gibt diese dann aber mit Hilfe der SI-Präfixe an. So wird also ein 128-GB-Speichermedium als 119,2 GB angezeigt, obwohl es laut IEC 119,2 GiB lauten müsste. Hinzu kommt die Verwirrung der Benutzer, dass laut Microsoft 120 GB (eigentlich 120 GiB) nicht auf ein mit 128 GB beworbenes Speichermedium passen und ein Fehler ausgegeben wird. Vergleich:

  • 128 GB = 128.000.000.000 Byte sind weniger(!) als
  • 120 GiB = 128.849.018.880 Byte = 120 × 10243 Byte

Apples macOS benutzt ab Version Mac OS X Snow Leopard (10.6)[19] einheitlich Dezimalpräfixe nur in dezimaler Bedeutung. KDE folgt dem IEC-Standard und lässt dem Anwender die Wahl zwischen binärer und dezimaler Angabe. Für Linux-Distributionen mit anderen Desktopumgebungen, wie zum Beispiel Ubuntu ab Version 11.04,[20] gibt es klare Richtlinien, wie Anwendungen Datenmengen angeben sollen; hier findet man beide Angaben, wobei die Binärpräfixe überwiegen.

Unix-Shells nutzen normalerweise Datenblöcke als Einheit. Optional wird auch eine lesbarere Darstellungsform, Vorlage:Lang bezeichnet, angeboten, normalerweise die binäre Einheit, wobei jedoch abweichend von der IEC-Vorgabe nur die Vorsätze der Maßeinheiten in Großbuchstaben als Einheit angegeben werden, also K für KiB, M für MiB usw. Es gibt jedoch auch oft die Möglichkeit, SI-Einheiten zu wählen, dann in der korrekten, jedoch großgeschriebenen Einheit, also KB, MB usw.

Die in den 1980er und 1990er Jahren verbreitete 3,5-Zoll-Diskette verwendete eine binär-dezimale Mischform: die nominellen „1,44 MB“ bedeuteten Vorlage:Nowrap = 1440 KiB.

Siehe auch

Weblinks

Vorlage:Wiktionary

Einzelnachweise

  1. 1,0 1,1 ByteDuden, Bibliographisches Institut, 2016
  2. IEC 60027-2, Ed. 3.0, (2005–2008): Letter symbols to be used in electrical technology – Part 2: Telecommunications and electronics.
  3. Bit (Einheit in der EDV)Duden, Bibliographisches Institut, 2016
  4. Vorlage:Webarchiv (englisch-deutsch) – Duden, Langenscheidt, 2015
  5. Vorlage:Literatur
  6. Vorlage:Literatur
  7. Vorlage:Cite journal
  8. Vorlage:Literatur
  9. 12,0 12,1 Vorlage:Cite journal
  10. Vorlage:Literatur
  11. Vorlage:Cite journal
  12. Vorlage:Literatur
  13. Vgl. internationale Norm IEC 60027-2:2005, 3. Auflage. Letter symbols to be used in electrical technology – Part 2: Telecommunications and electronics veröffentlicht. Mittlerweile übernommen durch die weltweite IEC-Norm IEC 80000-13:2008 (bzw. DIN EN 80000-13:2009-01)
  14. 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) – Randnotiz.