Two Competing Definitions
Storage has two parallel unit systems, and almost every confusing size discrepancy traces back to something reported in one and read as the other.
Definitions
Binary: 1 KiB = 2¹⁰ = 1,024 bytes
1 GB = 10⁹ bytes • 1 GiB = 2³⁰ bytes
Divergence ≈ 2.4% per unit step
The gap compounds with every step up the scale: 2.4% at kilobytes, 4.9% at megabytes, 7.4% at gigabytes, and 10% at terabytes. That is precisely why a 1 TB drive shows as roughly 931 GiB — the shortfall is not a hidden partition or a formatting overhead, it is the difference between dividing by 1000 three times and dividing by 1024 three times.
Who Uses Which
Knowing which convention a number came from is usually enough to resolve an apparent discrepancy.
Decimal — hardware and networks
Drive and SSD capacities, USB stick sizes, and mobile data allowances are all quoted in decimal units. Network speeds are decimal too, and measured in bits rather than bytes: a 100 Mbps link moves at most 12.5 MB per second.
Binary — operating systems
Windows File Explorer reports binary sizes while labelling them KB, MB, and GB, which is the single biggest source of confusion. Linux tools vary; ls -h uses binary while ls --si uses decimal. macOS switched to decimal in 2009, which is why the same drive reads differently on a Mac and a PC.
RAM is always binary
Memory is addressed in powers of two by physical design, so a 16 GB memory module really is 16 GiB — 17.18 billion bytes. Memory is the one place where the marketing figure and the binary figure genuinely agree.
Where the Difference Bites
Capacity planning is the main casualty. Provisioning storage for 500 GiB of data on a drive sold as 500 GB leaves you about 37 GiB short, and the mistake scales: at the petabyte level the two systems differ by more than 12%.
Transfer time estimates suffer from a related mix-up between bits and bytes. Divide a connection's advertised megabits per second by eight to get megabytes per second, then allow for protocol overhead of roughly 5-10% on top. A 1 GB file over a 100 Mbps line takes at least 80 seconds in theory and rather longer in practice.