Byte
Eenheid buiten het SI · grootheid: hoeveelheid informatie
01 · Definitie
Het woord bedacht de IBM-ingenieur Werner Buchholz in 1956, door bite opzettelijk te vervormen zodat het niet met bit verward zou worden. De acht bits in de byte zetten pas door met System/360 in 1964.
Een byte is acht bits, dus 256 onderscheidbare toestanden. Het is de kleinste adresseerbare geheugencel in elke hedendaagse processor: één enkele bit is niet te lezen, de hele cel wordt gelezen. De acht werd niet door de natuurkunde gekozen maar door het gemak: een macht van twee, hij volstaat voor het Latijnse alfabet met cijfers en tekens en valt uiteen in twee hexadecimale cijfers. Een byte houdt een ASCII-teken, maar geen Cyrillische letter in UTF-8 — daar zijn er twee nodig, en een emoji neemt er vier.
In UTF-8 neemt een Latijnse letter één byte in, een Cyrillische twee, een schriftteken drie, een emoji vier. Een teken is dus geen byte: de lengte van een tekenreeks in tekens en haar lengte in bytes zijn verschillende getallen, en ze verwarren is de meest voorkomende oorzaak van kapotte tekst.
02 · Omrekening
Voer een volume in — het blad rekent het om
De byte erfde haar dubbele stelsel van voorvoegsels van de bit. De decimale kilobyte is duizend bytes, de binaire kibibyte 1024. Schijffabrikanten tellen in decimale, besturingssystemen in binaire — vandaar de «ontbrekende» gigabytes op elke nieuwe schijf.
Schijven werkten decennialang met sectoren van 512 bytes, de huidige met 4096. Een bestandssysteem leest niet minder dan een sector, en zo bezet een bestand van één byte er een hele.
| Eenheid | Naam | Waarde | Waar het voorkomt |
|---|---|---|---|
| B | byte, acht bits | 1000 | de hoofdschrijfwijze |
| bit | bit | 8000 | kanaal, snelheid |
| kB | kilobyte, 1000 byte | 1 | decimaal voorvoegsel |
| MB | megabyte, 10⁶ byte | 0,001 | bestanden, opnamen |
| GB | gigabyte, 10⁹ byte | 1·10⁻⁶ | schijven, dragers |
| TB | terabyte, 10¹² byte | 1·10⁻⁹ | opslag |
| KiB | kibibyte, 1024 byte | 0,9766 | geheugen, bestandssystemen |
| MiB | mebibyte, 1024 kibibyte | 9,537·10⁻⁴ | werkgeheugen |
| GiB | gibibyte, 1024 mebibyte | 9,313·10⁻⁷ | besturingssystemen |
| TiB | tebibyte, 1024 gibibytes | 9,095·10⁻¹⁰ | schijvenstelsels |
| B6 | byte van zes bits | 1333 | vóór System/360 |
| B | byte | 1000 | de huidige schrijfwijze |
Decimale voorvoegsels nemen duizend, binaire 1024 en worden met een «i» geschreven: KiB, MiB, GiB. Een schijf van één terabyte bevat 10¹² bytes, en het systeem toont ze als 931 GiB: beide kanten rekenen goed, alleen in verschillende voorvoegsels.
03 · Ordes van grootte
van het teken tot het datacentrumEen foto — 4 MB
04 · Meetinstrumenten
Waarmee bytes geteld worden
De capaciteit op de verpakking telt men in decimale gigabytes, het bestandssysteem telt in binaire. Geen van beide kanten bedriegt, maar de koper ziet een kleiner getal dan het op het etiket gedrukte.
Hier zijn de binaire voorvoegsels eerlijk: een module van 16 GB bevat precies 16 gibibytes, omdat de adressering altijd in machten van twee gaat.
De aanbieder verkoopt megabits, het downloadprogramma toont megabytes. Deel door acht: 100 Mbit/s geven ongeveer 12 MB/s.
Hij toont het bestand byte voor byte: links de codes, rechts de tekens. Zo leest men formaten zonder documentatie en ontdekt men waar de kop eindigt.
05 · Schrijfregels
B hoofdletter, de k in kilobyte klein
De decimale kilobyte schrijft men kB met kleine k, zoals alle SI-voorvoegsels onder mega. De hoofdletter B is de byte, de kleine b de bit, en het verschil tussen hen is achtvoudig. De binaire voorvoegsels schrijft men met een «i» en een hoofdletter aan het begin: KiB, MiB, GiB.
In het Russisch verandert het woord voor byte in het meervoud na een telwoord niet: men schrijft 512 byte, nooit de meervoudsvorm. Ook het teken B neemt geen naamvalsuitgang aan — het is een teken en geen afkorting.
06 · Naburige eenheden
De byte staat op de bit en leeft in groepen: een nibble van vier bits komt overeen met één hexadecimaal cijfer, twee bytes met een kort getal, vier met een adres, acht met een lang. Het machinewoord is een geheel aantal bytes, en hun aantal verraadt de architectuur.
Vier bytes geven vier miljard toestanden — dat volstond voor alle adressen van IPv4, en juist daarom zijn ze opgeraakt.
07 · Historisch deel
Bytes die geen acht bits waren
Op de machine waar het woord ontstond, gaf de instructie de lengte van de byte aan: van één tot acht bits. De acht was slechts het maximum.
Het volstond voor Latijnse hoofdletters, cijfers en tekens — kleine letters waren er in deze systemen eenvoudig niet. Een woord van 1 bit viel uiteen in zes zulke tekens.
De oorspronkelijke codering was zevenbits: 128 tekens. De achtste plaats diende voor de pariteitscontrole en werd pas later deel van de code, wat ruimte gaf aan nationale alfabetten.
Machines met een woord van 14 bits deelden het soms in vier delen van negen bits. De norm System/360 verdrong gaandeweg alle varianten.
De acht bits koos niet de natuurkunde maar de commerciële beslissing van één bedrijf
Vóór 1964 was de byte van alles: zes bits bij CDC, zeven in telexen, negen op machines met een woord van 14 bits, willekeurige lengte op de IBM Stretch. Bij de keuze van de grootte voor System/360 hield IBM het op acht — een macht van twee, hij past in twee hexadecimale cijfers en volstaat zowel voor het Latijnse alfabet met zijn stuurcodes als voor een voorraad nationale tekens. Het succes van de reeks maakte de acht tot de facto norm, en de IEC legde haar pas in 2008 vast, vierenveertig jaar later. Formeel hebben de normen een apart woord voor «precies acht bits» — het octet —, en netwerkspecificaties schrijven juist dat, om elke dubbelzinnigheid uit te sluiten.
Catalogus · meeteenheden
Een fiche voor elke grootheid
Zeven SI-basiseenheden, tweeëntwintig afgeleide met een eigen naam en daarnaast eenheden buiten het stelsel. Elk heeft zijn eigen blad: definitie, dimensie, omrekening, instrumenten, schrijfregels. In 14 talen.