Something that confuses a lot of people nowadays is when they buy a hard drive, the stated capacity never seems to match what your computer shows. For example, you buy a 1TB drive and you end up with 931GB usable space. A drive marketed as 4TB will give you 3.63TB usable space. What gives? Are manufacturers straight up lying to your face?

The reason is that computers think in base-2 (binary) numbers while we humans are so much more used to base-10 (decimal). The confusion arises because a computer will use binary prefixes to display capacities because that is the technically correct version for digital storage and it’s what they use in their processors whereas manufacturers will create and market their products using metric prefixes for easier understanding. And the fact 4TB looks better than 3.63TB since that “extra 370GB” would allow around 50,000 photos or just under 100 full-HD movies (assuming 4GB per movie).

In order to try and minimise the confusion, various organisations and groups have created standards to differentiate between the two. Thus, the binary prefixes were given new names, resulting in the names kibibytes (KiB), mebibytes (MiB), gibibytes (GiB), and tebibytes (TiB). So your computers are actually not showing gigabytes anymore, they’re really showing gibibytes. Why don’t programmers start displaying the proper units in software? Because the general user  either doesn’t care, or they won’t be able to understand.

To show you the differences between metric and binary capacities, allow me to refer you to a table I quickly made:

Going back to the start of this article where I mentioned how 1TB=932GB and 4TB=3.63TB (or rather, 1TB=931GiB and 4TB=3.63TiB), let’s run some calculations. Disclaimer: numbers are shown to 3 decimal places but the calculations are done using the full number for highest accuracy.

  • A 1TB drive is capable of storing 1,000,000,000,000 bytes.
    • Convert to tebibytes by dividing by 2^40
    • That gives 0.909… TiB
    • Convert to gibibytes by multiplying by 1024
    • Results in 931.322… GiB
    • And there’s your “931GB”.
  • 4TB = 4,000,000,000,000 bytes
    • Convert to tebibytes by dividing by 2^40
    • That gives 3.637… TiB
    • And there’s your “3.63TB”. I’m guessing Windows doesn’t round drive capacities to two decimal places, it just truncates them.

Simple, right? The calculations are not that hard once you understand the numbers used in binary storage.

Hopefully that clears up some of the confusion as to the discrepancy in stated capacity and usable capacities. Or maybe you’ve never noticed and I’ve confused you even more

TL;DR: computers think in binary, humans think in decimal, and drive manufacturers are dicks for marketing in decimal.