Het is een bekend probleem: Je koopt een nieuwe harde schijf van een bepaalde grootte, maar eenmaal aangesloten blijkt de beschikbare ruimte kleiner dan beloofd. Het verschil komt door twee verschillende manieren van rekenen met bytes.

Iedereen is bekend met de groottes van het metrieke stelsel: Een kilometer is gelijk aan 1.000 meter, en een megaton is gelijk aan 1.000.000 ton. Binnen de ICT is echter een afwijkende standaard ontstaan voor deze ordes van grootte.

Wanneer er met bits wordt gewerkt, dan wordt er niet vanuit een decimaal stelsel maar vanuit een binair stelsel gedacht. Dit betekent dat elke orde niet tien maar twee keer groter is. In het “normale” decimale stelsel is het getal 10 tien keer groter dan 1, en 100 is tien keer groter dan 10. In het binaire stelsel zijn er alleen enen en nullen, als we een twee willen uitdrukken in binair is dit dan 10. Het binaire getal 100 is gelijk aan een vier. Het binaire getal 100 is dus maar twee keer groter dan het binaire getal 10.

Nu wil het zo zijn dat 210 gelijk is aan 1024, wat vrij dicht bij 1000 ligt. Binnen de IT werd het al vroeg een standaard om 1024 bytes aan te duiden als een kilobyte, 1024 kilobyte als een megabyte, enzovoort. Het voordeel hiervan wat dat er een getal was dat dicht bij de (decimale) 1000 lag, maar ook binair goed mee te rekenen was.

Het probleem is dus dat kilobyte twee verschillende aantallen kunnen betekenen: 1000 of 1024 bytes. Daarbij komt dat hoe groter de aantallen zijn, hoe groter het verschil.

Hoeveelheid Bytes decimaal Bytes binair Verschil
1 Kilobyte 1.000 1.024 2,3%
1 Megabyte 1.000.000 1.048.576 4,6%
1 Gigabyte 109 1,07 × 109 6,9%
1 Terabyte 1012 1,10 × 1012 9,1%

Zoals in deze tabel te zien is, wordt het verschil steeds groter. Bij een schijf van een terabyte is het verschil al bijna tien procent!

Op de verpakkingen van harde schijven wordt praktisch altijd de decimale rekenmethode gebruikt, maar binnen computers het binaire systeem. Stel, je koopt een harde schijf van 1 terabyte. De verpakking stelt dan dat dit gelijk is aan 1.000.000.000.000 byte en daarmee een decimale terabyte. De computer redeneert echter vanuit het binaire stelsel en daarom dat er 1.099.511.627.776 bytes nodig zijn voor een terabyte, en dat de totale opslag van de harde schijf daarom niet meer is dan 931 gigabyte.

Alternatieve benoemingen

Al decennia wordt er gepoogd om alternatieve namen in het gebruik te krijgen voor deze eenheden om deze verwarring tegen te gaan. De International Electrotechnical Commission (IEC) publiceerde in 1998 de kibibyte standaard. Volgens het systeem van de IEC is een kilobyte gelijk aan 1000 bytes, en een kibibyte gelijk aan 1024 bytes. Het kilo- prefix blijft daarmee volgens het decimale stelsel werken gelijk aan alle andere eenheden volgens het metrieke stelsel (kilogram, kilometer, enz). Voor het decimale stelsel komt het kibi- prefix erbij. Naast de kibibyte zijn er ook grotere eenheden zoals de mebibyte, gibibyte en tebibyte. Om onderscheid te maken tussen de kilobyte en kibibyte in afkortingen is er gekozen om een “i” toe te voegen: KiB in plaats van KB, MiB in plaats van MB, enzovoort.

Ondanks dat dit alternatief al decennia bestaat, een ISO standaard is, en aangenomen door alle grote standaardisatieorganisaties blijft het gebruik laag.

Een belangrijke speler hierin is uiteraard Microsoft. Binnen Windows en de programma’s van Microsoft wordt nog steeds KB of kilobyte als naam gebruikt, maar wordt er volgens het binaire stelsel gerekend. Zo lang Microsoft deze benaming blijft hanteren zal het gebruik van de kibi-eenheden laag blijven. Maar Microsoft zal niet snel geneigd zijn om dit aan te passen. Alle gebruikers zijn bekend met kilo–, mega– en gigabytes. Als Windows plotseling kibibytes zou weergeven zou dat tot grootschalige verwarring onder gebruikers leiden.

Oplossing

Helaas zal er voor dit probleem op korte termijn geen oplossing zijn. Het gebruik van kilobyte met de betekenis 1024 byte is zo wijdverspreid en de term kibibyte is zo onbekend dat Microsoft en andere ontwikkelaars deze namen niet snel zullen veranderen. Het is daarom aan de consument om hier zelf rekening mee te houden. Gelukkig is het grotendeels maar op één plek waar dit voorkomt, en dat is juist bij de aanschaf van een nieuwe harde schijf, SSD of USB stick.

Het is ook los van deze verschillen aan te raden om altijd een goede marge te nemen bij de aanschaf van een nieuwe schijf. De behoefte aan dataopslag binnen bedrijven blijft altijd groeien, en de prijs van dataopslag is tegenwoordig laag genoeg dat de kosten alleen bij zeer grote hoeveelheden of aantallen een obstakel zijn.