Skip to main content

1.1 Over eentjes en nulletjes

Kilobyte of kibibyte?

Vanaf het ontstaan van de digitale techniek werd voor veelvouden van bytes gebruik gemaakt van de prefixen die gangbaar waren in het metrisch stelsel. Het prefix "kilo" staat daarbij voor 1000 (zo is een kilometer 1000 meter ver, en een kilogram weegt exact 1000 gram), "mega" betekent miljoen, "giga" komt overeen met miljard, enzovoort. Toch kloppen deze prefixen niet helemaal voor wat binaire waarden betreft. 1 kilobyte is immers niet 1000, maar 1024 bytes. Een klein verschil, dat wel, maar hoe hoger de waarde, hoe groter het verschil. Hoe kan je dat verschil verklaren?

In het metrisch stelsel wordt gewerkt met het tiendelige talstelsel - tien is dus het grondtal. We spreken van een decameter als je 10 tot de 1ste meter wil voorstellen. Een hectometer is dan 10 tot de 2de meter. Het wordt duidelijker als je de waarden onder elkaar voorstelt:

  • 10 tot de 1ste meter = 10 meter = een decameter
  • 10 tot de 2de meter = 100 meter = een hectometer
  • 10 tot de 3de meter = 1000 meter = een kilometer
     

Computers werken echter binair. Het grondtal is hier niet 10, maar 2. We spreken pas over een kilobyte wanneer je 2 tot de 10de bytes samenneemt. De lagere waarden (tussen een byte en een kilobyte in) hebben geen aparte namen gekregen.

  • 2 tot de 1ste bytes = 2 bytes
  • 2 tot de 2de bytes = 4 bytes
  • 2 tot de 3de bytes = 8 bytes
  • 2 tot de 4de bytes = 16 bytes
  • 2 tot de 5de bytes = 32 bytes
  • 2 tot de 6de bytes = 64 bytes
  • 2 tot de 7de bytes = 128 bytes
  • 2 tot de 8de bytes = 256 bytes
  • 2 tot de 9de bytes = 512 bytes
  • 2 tot de 10de bytes = 1024 bytes = 1 kilobyte
     

Sommige wetenschappers vonden dat de metrische voorvoegsels daarom beter niet zouden worden toegepast in een binaire omgeving. In 1998 werden door de IEC (International Electrotechnical Commission) daarom nieuwe voorvoegsels in het leven geroepen. In plaats van een kilobyte spreek je beter over een kibibyte, een megabyte wordt dan een mebibyte, enzovoort.

Allicht zal dat allemaal wetenschappelijk wel correct zijn, maar ondertussen hebben de metrische voorvoegsels gedurende jaren een plaatsje veroverd in ons taalgebruik, ook in de computerwereld. En een taal laat zich erg moeilijk artificieel manipuleren. De IEC-prefixen bestaan dus, zelfs vele jaren na hun introductie, vooral in theorie. In de praktijk blijft men de metrische voorvoegsels hanteren.

Of toch niet? Want is het je al eens opgevallen dat een harde schijf in Windows altijd een iets kleinere capaciteit aangeeft dan het label van de schijf aangeeft? Zo zou je van een schijf van 1 terabyte mogen verwachten dat er 1024 gigabyte opkunnen, maar Windows geeft aan dat de schijf toch slechts een goeie 931 gigabyte groot is. Werd je dan voor bijna 100 gigabyte opgelicht? Verkopers maken er zich gauw van af met het smoesje dat dit aan de formattering ligt. Onzin, natuurlijk. Formatteren mag dan wel tot een zeer licht capaciteitsverlies leiden, maar zal nooit een zulke grote afwijking kunnen veroorzaken.

Nee, de fabrikanten van harde schijven gebruiken de metrische betekenis van het prefix - zo beschikt een harde schijf van 1 terabyte niet over ongeveer 1,1 biljoen bytes, maar wel over exact 1 biljoen bytes. Windows hanteert echter wel de binaire betekenis van het voorvoegsel. Daardoor komt 1 biljoen bytes met heel wat minder gigabytes overeen dan je zou verwachten. Toch handig bekeken van de fabrikanten van harde schijven: ze laten je geloven dat je over een grotere opslagcapaciteit beschikt dan in werkelijkheid bereikt wordt, en je mag ze dat eigenlijk niet eens kwalijk nemen...

Test je kennis