Binary vs Decimal Data Units: Bytes, Kibibytes, and Why 1 GB ≠ 1 GiB
A '1 TB' hard drive shows as 931 GB in Windows. A '16 GB' RAM stick looks like 15.3 GB in macOS. These discrepancies exist because storage manufacturers count bytes in powers of 10 while operating systems traditionally count in powers of 2. This guide explains both systems, their prefixes, and which to use when.
Published March 19, 2026
Key takeaways
- Decimal prefixes (KB, MB, GB, TB) use powers of 10: 1 GB = 1,000,000,000 bytes. Used by storage manufacturers and network speeds.
- Binary prefixes (KiB, MiB, GiB, TiB) use powers of 2: 1 GiB = 1,073,741,824 bytes. Used by operating systems for RAM and file sizes.
- The IEC standardized binary prefixes (kibi-, mebi-, gibi-) in 1998 to end the ambiguity.
- 1 TB drive has ~931 GiB, which Windows displays as '931 GB' (incorrectly using the decimal label for a binary value).
- Network speeds are always decimal: 100 Mbps = 100,000,000 bits per second.
The origin of the confusion
In the early days of computing, memory chips came in powers of 2. 1 kilobyte of RAM was 1,024 bytes (2¹⁰), not 1,000 bytes, because that's how binary addressing works. Computer scientists adopted the SI prefix 'kilo' to mean 1,024 — a small but imprecise choice.
Storage manufacturers, wanting to maximize advertised capacity, adopted the strict SI meaning of 'kilo' = 1,000. So when they sell you a '1 TB' hard drive, they mean 1,000,000,000,000 bytes. Your operating system, counting in binary, sees 1,000,000,000,000 ÷ 1,099,511,627,776 bytes-per-TiB ≈ 0.909 TiB, which it traditionally displays as '909 GB'.
Decimal prefixes (SI): KB, MB, GB, TB
Formula
1 KB = 1,000 bytes (kilobyte) 1 MB = 1,000,000 bytes (megabyte) 1 GB = 1,000,000,000 bytes (gigabyte) 1 TB = 10¹² bytes (terabyte) 1 PB = 10¹⁵ bytes (petabyte) Used by: hard drives, SSDs, USB drives, network speeds (Mbps, Gbps), mobile data plans.
Binary prefixes (IEC): KiB, MiB, GiB, TiB
Formula
1 KiB = 1,024 bytes (kibibyte) 1 MiB = 1,048,576 bytes (mebibyte) 1 GiB = 1,073,741,824 bytes (gibibyte) 1 TiB = 2⁴⁰ bytes (tebibyte) Used by: RAM, CPU cache, file system block sizes, OS memory reporting.
The IEC standard prefixes (1998)
In 1998, the International Electrotechnical Commission (IEC) defined official binary prefixes to eliminate the ambiguity:
- kibi (Ki) = 2¹⁰ = 1,024
- mebi (Mi) = 2²⁰ = 1,048,576
- gibi (Gi) = 2³⁰ = 1,073,741,824
- tebi (Ti) = 2⁴⁰ = 1,099,511,627,776
Linux has used the correct IEC prefixes (KiB, MiB, GiB) for years. macOS switched to decimal (GB, TB) in macOS 10.6 (2009), matching storage manufacturers. Windows still uses 'GB' to mean GiB, which is the root of most user confusion.
Practical implications
Network speeds: always decimal. 1 Gbps = 1,000,000,000 bits/second. A 1 Gbps network connection transfers 125 MB/s (decimal megabytes per second) — not 125 MiB/s.
RAM: almost always reported in binary. Your '16 GB RAM' is actually 16 GiB = 17.18 GB.
SSD vs HDD: both are sold in decimal. A '512 GB SSD' = 512,000,000,000 bytes. Linux and Windows report this as ~476 GiB; macOS reports it as 512 GB (correct decimal).
Cloud storage billing: AWS S3, Google Cloud Storage, and Azure Blob Storage all bill in decimal bytes (GB, TB). A 1 TiB dataset uploaded to cloud storage is billed as approximately 1.0995 TB. Always use decimal bytes when estimating cloud costs.
Decimal vs binary: conversion table
Formula
Storage unit comparison — decimal (SI) vs binary (IEC): Decimal label Decimal value Binary label Binary value Difference 1 KB 1,000 B 1 KiB 1,024 B 2.4% 1 MB 1,000,000 B 1 MiB 1,048,576 B 4.9% 1 GB 1,000,000,000 B 1 GiB 1,073,741,824 B 7.4% 1 TB 1,000,000,000,000 B 1 TiB 1,099,511,627,776 B 9.95% 1 PB 10¹⁵ B 1 PiB 2⁵⁰ B 12.6% The gap grows with each prefix level. For petabytes the binary value is 12.6% larger than the decimal value — significant for large-scale data center planning.
Common mistakes and how to avoid them
Important
Mistake 1: Assuming all operating systems use the same unit. macOS uses decimal GB/TB (matching manufacturers). Windows uses binary GiB but labels them as 'GB'. Linux uses GiB and labels them correctly as GiB. The same physical drive can show three different 'sizes' depending on the OS.
Mistake 2: Converting network speeds without accounting for bits vs bytes. A 100 Mbps connection downloads at 100 ÷ 8 = 12.5 MB/s — not 100 MB/s. ISPs quote in megabits; download managers show megabytes.
Mistake 3: Using 1,024 for all conversions in data center planning. Cloud providers (AWS, GCP, Azure) use decimal GB and TB for billing. Allocating 1 TiB of object storage and paying for 1 TB will result in unexpected costs if the distinction is ignored.
Best practice: be explicit. Write GiB when you mean binary; GB when you mean decimal. In code, avoid ambiguous variable names like totalGB — use totalGiB or totalGbDecimal instead.
Frequently asked questions
Related tools and guides
Convert megabytes to gigabytes — the most common data-size step.
Convert gigabytes to terabytes for large storage planning.
Convert terabytes back to gigabytes.
The broader history of unit standardization that led to the binary/decimal split.