Skip to main content

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