Have you ever experienced that moment where you insert your 16GB memory card into the camera only to discover that this new, freshly formatted card is a nickel short of 15GB? Or a 32GB card turning to 29.8GB once installed?

Have you ever wondered where those GigaBytes are hiding? The truth is that they are not hiding at all.

It has to do more with the way card companies (and hard drive companies too) decide to annotate their products.

In English Kilo means one thousand (10001 = 1,000), a Mega is a million (1,0002 = 1,000,000) , a Giga is a billion (1,0003 = 1,000,000,000) and so on (Tera, Peta, Exa, Zetta & Toyya). This system is called the SI units system.

In Computerish, however, the numbers are a bit different: A Kilo means 1,0241 = 1,024, a Mega is 1,0242 = 1,048,576, a Giga is 10243 = 1,073,741,824 and so on. This is called the Binary units system.

So there is a difference in what Kilo, Mega and Giga means and that difference is getting bigger the “stronger” the prefix is.

For Kilo, the difference is only 2.3%, for Mega it is 4.6% and for Giga it is 6.8% – see a pattern here?

Back to the memory cards.

Memory cards manufactures choose to use the SI system to denote cards sizes. Our computers and card readers use the binary system for size calculation and here is where the missing Bytes are.

Of course, the card companies are covered, they do mention this fact on their sites (in a small asterisk, or with hover text that is revealed when you hover over a small asterisk). Here are screen shots from three leading cards and hard drive manufacturers, though they are not the only one to use that practice:

Sandisk:

Lexar:

Seagate:

If you followed the math, you probably realized that the toll this calculation method in taking gets bigger the bigger the data units are. So while the toll on a 1GB memory card in way smaller than on a 1 tera hard drive. Have a look at this table to sum things up:

Size SI

units size Binary

Size Delta

(%) Delta

(GB) 512 Mega 536870912 512000000 4.6 0.02 4 Giga 4294967296 4000000000 6.9 0.27 16 Giga 17179869184 16000000000 6.9 1.10 64 Giga 68719476736 64000000000 6.9 4.40 1 Tera 1,099,511,627,776 1,000,000,000,000 9.1 92.68 4 Tera 4,398,046,511,104 4,000,000,000,000 9.1 370.71 1 Peta 1,125,899,906,842,620 1,000,000,000,000,000 11.2 117253.43



Now What?

Now, I think it would be fair if we politely asked memory card makes and hard drive makers to switch to binary so they will be better aligned with the way we use them.