Wetenschap 4 mei 1999

Binaire stelsel vereist andere voorvoegsels bij eenheden

Een schijf van 10 tebibyte

Door S. M. de Bruijn
Computers kunnen niet tellen. Dat blijkt niet alleen uit het millenniumprobleem, waarbij veel computers denken dat op 99 het getal 00 volgt. Een bekend voorbeeld uit het verleden is de rekenmachine uit de Windows-3-versies. Bij de som -2,11+2,1 was de uitkomst: 0,00, althans tot 1994. Ook de makers van Windows zijn de tel kwijt geraakt. De opeenvolgende versies van het besturingsprogramma heten: 1, 2.0, Windows/286, Windows/386, 3.0, 3.1, 3.11, Windows 95 en Windows 98. En de volgende? Niet Windows 00, maar Windows 2000. Broddelwerk, dus.

Toch zinkt dat in het niet bij de problemen die ontstaan met grotere getallen. Even een test voor de leerlingen uit groep 6: Hoeveel gram gaat er in een kilogram? Hoeveel meter in een kilometer? Dat kan nauwelijks fout gaan: 1000. Hoeveel bytes gaan er in een kilobyte? Juist, 1024. Een afwijking van 2,4 procent. Bij doorrekenen wordt de fout nog groter: een megabyte is niet 1000 kilobyte maar 1024 kilobyte. En dus 1.048.576 byte, een afwijking van bijna 5 procent.

Een ander voorbeeld laat duidelijk zien hoe het mis het kan gaan. Hoeveel bytes passen er op een diskette? Op het schijfje staat: 1,44 megabyte. Is dat 1.440.000 byte? Als je een diskette in de computer stopt en via Windows Verkenner vraagt wat de eigenschappen ervan zijn, komen er twee verwarrende antwoorden: 1.457.664 bytes of 1,38 megabyte. Alleen het eerste antwoord is juist, want 1.457.664 byte is 1,39 megabyte ofwel 1423,5 kilobyte.

Mebibyte
Dat kan zo niet langer, vindt het Amerikaanse National Institute of Standards and Technology (NIST). Linda Joy legt uit hoe het probleem ontstaan is: „Elektronische informatie is geschreven in de zogenaamde binaire code waarin alleen enen en nullen voorkomen, terwijl het metrische systeem gebaseerd is op tien cijfers.” Een kilobyte is dus niet 1000 byte maar 2x2x2x2x2x2x2x2x2x2 ofwel 210byte. „Om die grote binaire getallen toch gemakkelijk aan te duiden, hebben programmeurs gekozen voor het dichtstbijzijnde metrische voorvoegsel. De vermenigvuldigingsfactoren kilo, mega en giga zijn geleend van het SI, het internationale stelsel van eenheden.”

Voor wiskundigen is het misbruik van zulke voorvoegsels een doorn in het oog. De International Electrotechnical Commission –een in Zwitserland gevestigde commissie die internationale afspraken maakt over eenheden en standaarden op het gebied van de elektrotechniek– boog zich erover. Daar kwam een nieuwe aanduiding uitrollen, de kibibyte, waarbij het tussenvoegsel ”bi” verwijst naar het binaire stelsel.

Volgens afspraak is 1 kibibyte exact gelijk aan 1024 byte, voortaan afgekort als 1 KiB. Tegelijkertijd stelde de commissie namen vast voor grotere hoeveelheden bytes: de mebibyte (MiB) in plaats van megabyte, gibibyte (GiB) in plaats van gigabyte, tebibyte (TiB) in plaats van terabyte, pebibyte (PiB) in plaats van petabyte en exbibyte (EiB) in plaats van exabyte.

1 EiB is 1.152.921.504.606.846.976 byte ofwel 260byte. Hoeveel dat is, kan bijna niemand zich voorstellen. Dat geldt trouwens ook voor de gigabyte. Wie nu een pc koopt, schaft al snel een 10 gigabyte –pardon, gibibyte– harde schijf aan, daar past een boekenplank van 100 meter op. De grootste bibliotheek van de Verenigde Staten, de Library of Congress, zou in digitale vorm 10 tebibyte beslaan. Alle universiteitsbibliotheken van de VS hebben samen een volume van circa 2 pebibyte, en 5 exbibyte is genoeg om alle gesproken woorden die alle mensen op de aarde ooit gesproken hebben, op te slaan in digitale vorm.

Wie nog verder wil tellen, moet zich verdiepen in de geschiedenis van de vermenigvuldigingsfactoren. De kilo komt van het Griekse woord voor 1000, khilioi. De aanduidingen mega, giga en tera stammen uit de Griekse mythologie, met de respectievelijke betekenissen van groot (megas), reusachtig (gigas) en monsterlijk (teras). De volgende aanduidingen, peta en exa, komen van de Griekse woorden voor vijf en zes (pente en hex). Daarna volgen de letters van het Griekse alfabet, maar dan in omgekeerde volgorde. Na exbibyte volgen dus zebibyte en yobibyte (van zettabyte en yottabyte).

Kibit, mibit en gibit
Zullen de nieuwe namen snel ingeburgerd raken? Die kans is klein. Ze zijn namelijk niet zo nieuw als onlangs in Science werd gesuggereerd. Al in 1995 besloot een andere commissie, de Interdivisional Committee on Nomenclature and Symbols, de kibibyte in te voeren. De verwachting was toen dat die termen na een paar jaar gemeengoed zouden worden, eerst in de woordenboeken, daarna in de winkels. Toen de Amerikaanse woordvoerder van het grote computerbedrijf Dell vorige maand over de 'nieuwe' termen hoorde, vroeg hij: „Hou je me voor de gek?”

Dr. Roger Marks van het NIST vindt de namen wel acceptabel, vooral omdat de afkortingen lekker in de mond liggen: kibit, mibit en gibit, of gib en tib. „Ik kan me goed voorstellen dat ik binnenkort een winkel binnenloop en om een 1 TiB-schijf vraag. De verkoper raadt me dan aan om minimaal een 10 TiB-schijf te kopen, als ik van plan ben om de laatste tekstverwerker te gaan gebruiken.”