Byte

Uit Wikipedia, de vrije encyclopedie
Ga naar: navigatie, zoeken

Een byte (afgekort B) is een binaire eenheid van informatie, voor te stellen als een woord van een aaneengesloten rij van bits. De de facto standaard is dat een byte uit 8 bits bestaat. Het kan zijn dat vroeger (jaren 60) er nog geen consensus was over de precieze definitie en ook verwarring met een (machine)woord ligt voor de hand. De moderne definitie van een byte is de kleinst rechtstreeks adresseerbare eenheid. Daarmee is de eenheid van informatie van een byte, hoewel tegenwoordig altijd 8 bits, afhankelijk van de gebruikte processorarchitectuur (hardware). Architecturen zoals de CDC 6600, waarbij de kleinst adresseerbare eenheid 60 bits groot is, heeft dan ook een byte ter grootte van 60 bits.

Geheugengroottes worden altijd uitgedrukt in bytes.

In een byte kon een leesteken opgeslagen worden, bijvoorbeeld volgens IBM's EBCDIC-codering.

8-bit single byte[bewerken]

ECMA gebruikt de frase "8-bit single byte" veelvuldig aan het begin van haar normbladen.

Octet (8 bits)[bewerken]

Om expliciet aan te geven dat men acht bits bedoelt, gebruikt men ook wel het woord octet (bij Philips octad (Engels) of octade (Nederlands)). Mogelijk werd de term byte vermeden omdat het intellectuele eigendom was van IBM.

In officiële documenten (bijvoorbeeld de Requests for Comment (RFC's)) en in de telecomsector wordt octet gebruikt, omdat dit explicieter is.

Presentatie[bewerken]

Meestal wordt de waarde van een 8-bits byte weergegeven als twee hexadecimale cijfers; daarbij wordt de byte opgesplitst in tweemaal vier bits; een groep van vier bits heet een nibble (bij Philips tetrad of tetrade).

Herkomst van het woord byte[bewerken]

Het woord 'byte' is een aanpassing van het woord 'bite' (hapje) om verwarring met bit te voorkomen. Het is bedacht door Werner Buchholz in 1956 tijdens de ontwikkeling van de IBM Stretch-computer. Het woord duidt op een 'hapje' vol bits. Het woord 'nibble' heeft dezelfde etymologie.

Veelvouden van bytes[bewerken]

1rightarrow blue.svg Zie Veelvouden van bytes voor het hoofdartikel over dit onderwerp.

Voor grotere hoeveelheden van bytes worden (ook) SI-voorvoegsels als kilo, mega, giga en dergelijke gebruikt. In de computerwereld werden ze van oudsher echter op een iets andere manier gebruikt dan in het SI-stelsel. De meeste computers, en in ieder geval alle gangbare, werken namelijk niet met het decimale (tientallige) talstelsel dat aan het SI ten grondslag ligt, maar met het binaire (tweetallige) stelsel. Capaciteiten binnen een computer, bijvoorbeeld van het interne geheugen, worden daarom vaak in machten van 2 uitgedrukt en niet in machten van 10. Dat heeft onder meer mee te maken met het feit dat het maximale aantal adressen dat met een N-bits adresbus geadresseerd kan worden 2N is. Daar 210 (1024) in de buurt van 103 (1000) ligt, werd ooit bedacht dat het handig zou zijn de naam kilobyte niet voor 1000 bytes, maar voor 1024 bytes te gebruiken.

Dat werd echter niet in alle gevallen gedaan. Voor capaciteiten van extern geheugen, bijvoorbeeld harde schijven, werd vaak wél het tientallig stelsel gebruikt. Soms werden beide stelsels door elkaar gebruikt. Zo heeft een diskette van 1,44 megabyte niet een capaciteit van 1,44×1024×1024 bytes, en ook niet van 1,44×1000×1000 bytes, maar van 1,44×1000×1024 bytes.

Ook telecommunicatiesnelheden worden meestal in machten van 1000 uitgedrukt: een lijn van 34 Mbit/s transporteert 34 000 000 bits per seconde. Soms worden echter ook op dit gebied beide stelsels door elkaar gebruikt.

Naarmate de machten groter worden, neemt de afwijking toe. Voor een kilobyte is het verschil 2,4%, voor een terabyte is dat al bijna 10%.

Namen en symbolen voor hoge veelvouden
De in onderstaande tabel onder IEC-norm en IEC-binair vermelde aanduidingen voor byte-veelvouden (evenzo voor bit-veelvouden), zijn in 1998 door het internationale normalisatie-bureau IEC aangewezen als IEC International Standard. Waarop het grote, toonaangevende instituut IEEE besloot het te gaan toepassen in al z'n normvoorschriften.[1] [2] Met de kanttekening dat het traditionele systeem (kilobyte = 1024B, etc.) - mits steeds expliciet als zodanig kenbaar - kan worden gebruikt totdat een systeem van binaire voorvoegsels zal zijn aanbevolen door een daarvoor in aanmerking komende normen-instantie.[3]

Decimaal   (grondtal 10,  SI)     Binair   (grondtal 2,  niet SI)

aantal bytes
machten van
1000
IEC-norm

(dubbelzinnig)

aantal bytes
machten van
1024
traditioneel-    
            binair

(dubbelzinnig)
IEC-binair
vanaf 1998
(eenduidig)
symbool naam symbool naam symbool naam
103  = 10001  kB    kilobyte 210 = 10241 ≈ 1,02·103  kB    kilobyte KiB    kibibyte
106  = 10002 MB    megabyte 220 = 10242 ≈ 1,05·106 MB    megabyte MiB    mebibyte
109  = 10003 GB    gigabyte 230 = 10243 ≈ 1,07·109 GB    gigabyte GiB    gibibyte
1012 = 10004 TB     terabyte 240 = 10244 ≈ 1,10·1012 TB     terabyte TiB     tebibyte
1015 = 10005 PB     petabyte 250 = 10245 ≈ 1,13·1015 PB     petabyte PiB     pebibyte
1018 = 10006 EB     exabyte 260 = 10246 ≈ 1,15·1018 EB     exabyte EiB     exbibyte
1021 = 10007 ZB     zettabyte 270 = 10247 ≈ 1,18·1021 ZB     zettabyte ZiB     zebibyte
1024 = 10008 YB     yottabyte 280 = 10248 ≈ 1,21·1024 YB     yottabyte YiB     yobibyte

De voorvoegsels kibi, ..., yobi maken (in tegenstelling tot de voorvoegsels kilo, ..., yotta) géén deel uit van het SI, het moderne metrisch/decimale eenhedenstelsel.   De term 'kibibyte' is gevormd uit 'kilobinary-byte', aanbevolen uitspraak: kiebiebaait (niet kiebaaibaait).   Het symbool KiB heeft een hoofdletter K, het symbool kB niet.
Voor hoge veelvouden van "bit" (1 byte = 8 bits) zijn door IEC en IEEE dezelfde voorvoegsels aangewezen als voor "byte".

Referenties[bewerken]

  1. (en) National Prefixes for binary multiples, NIST, ingezien 10 december 2016
  2. http://members.optus.net/alexey/prefBin.xhtml
  3. Mega will mean 1 000 000, except that the base-two definition may be used (if such usage is explicitly pointed out on a case-by-case basis) until such time that prefixes for binary multiples are adopted by an appropriate standards body.