Binary method of storage

The Binary Method Of Calculating Storage Can Be Very Confusing

Vincent T.
0xCODE
3 min readNov 24, 2020

--

When I bought an SD card, still in the box from the store, the advertised storage from the seller and the vendor website was 16 GB. I was ready for that unboxing experience and using the product for the first time. Once the device was out of the box, now comes time to verify the specs. Then, buyer’s remorse after an unboxing.

After checking the capacity on a Windows-based computer, I only have 12.7 GB and not 16 GB like what was advertised. So it appears I lost 3.3 GB, but that is not the case. This is actually more common across consumer electronic and digital devices, like smartphones and tablets. There were actually attempts to slap class action lawsuits against device vendors for not providing what was advertised. There is an explanation for it and it is somewhat confusing.

If the advertised storage on the device is in fact 16 GB, that is the total capacity of the device. However vendors compute storage differently from how software on the device sees it. As indicated from smartphone maker websites to avoid lawsuits, 1 GB is 1,000,000,000 bytes (1 Billion) of storage in decimal value. Therefore when 16 GB is advertised that really means the data storage capacity is 16,000,000,000 bytes.

Things start getting confusing when the storage capacity is computed by the device’s operating system software which uses the binary method and it sees 1 GB = 1,073,741,824 bytes which is 1024 ^ 3. Now let’s convert 16 GB = 16,000,000,000 using the binary method, and we get 14.9 GB. Decimal numbers use the power of 10(10^x) while binary is based on the power of 2(2^x). So that shiny new smartphone or tablet from out of the box is 14.9 GB. 16 GB to 14.9 GB, they are not exactly the same based on the numerical system used. However, in terms of capacity they are actually the same.

In terms of capacity:

1,000,000 / 1,048,576 (Binary) = 1 MB (MegaByte)
1,000,000,000 / 1,073,741,824 (Binary) = 1 GB (GigaByte)
1,000,000,000,000 / 1,099,511,627,776 (Binary) = 1 TB (TeraByte)

Based on the conversions, if we calculate 16 GB to a binary equivalent:

16,000,000,000 / 1,073,741,824 = 14.901161193847656

Now with the space sometimes used by bloatware installed, the overall capacity can go down to 12 GB (in my case 12.7 GB). That explains why the latest devices have a discrepancy in capacity due to the difference between what vendor’s advertise versus the way software computes storage. This is also applicable when buying hard drives and other storage devices. The usable capacity might differ from the advertised capacity due to how software calculates it.

It is more common to see the binary method used in the Windows operating system compared to macOS. When you check the properties of your storage device in Windows, you can see that there is a capacity section under the General tab.

The capacity is 1,000,187,359,232 bytes or approximately 1 TB, but next to it you will see 931 GB. The 931 GB is the binary method capacity based on what the Windows operating system calculated.

When the capacity of the device is less than what was advertised, it is not a case of deceit. It is the marketed advertisement capacity, while the operating system of the device calculates it differently. They translate to the same amount of capacity. It may not seem obvious or many users are not really interested, but the advertised specs are more simpler to convey rather than the exact binary method calculation which adds more numbers and complexity. It is a matter of presentation to give consumers a less complicated way of looking at a product.

--

--

Vincent T.
0xCODE

Blockchain, AI, DevOps, Cybersecurity, Software Development, Engineering, Photography, Technology