Why Hard Drive Manufacturers and Operating Systems Calculate Storage Differently (1000 vs. 1024)
Discover why a 1TB hard drive or SSD shows up as only ~931GB on Windows. A deep dive into Base-10 (Decimal) vs. Base-2 (Binary) storage accounting.
Why Hard Drive Manufacturers and Operating Systems Calculate Storage Differently (1000 vs. 1024)
Have you ever purchased a brand-new 1 Terabyte (1TB) hard drive, NVMe SSD, or USB flash drive, connected it to your Windows computer, and opened File Explorer only to discover that the reported capacity is only 931 GB?
Did the manufacturer shortchange you by nearly 70 Gigabytes of storage space? Or is your operating system misreporting your drive's hardware specifications?
The short answer is: Neither!
Both the drive manufacturer and Microsoft Windows are reporting the exact same physical byte count. However, they are measuring those bytes using two different mathematical bases: Base-10 (Decimal) vs. Base-2 (Binary).
In this technical guide, we will break down the math behind the 1000 vs. 1024 storage discrepancy, examine historical class-action lawsuits, and explain how to calculate reported capacity across Windows, macOS, and Linux.
1. The Core Discrepancy: Decimal (Base-10) vs. Binary (Base-2)
The root cause of missing drive space lies in how hardware manufacturers and operating system software define a "Gigabyte" or "Terabyte".
+-----------------------------------------------------------------+
| MANUFACTURERS (Base-10 / Decimal) |
| - 1 Kilobyte (KB) = 1,000 Bytes (10^3) |
| - 1 Terabyte (TB) = 1,000,000,000,000 Bytes (10^12) |
+-----------------------------------------------------------------+
+-----------------------------------------------------------------+
| WINDOWS OS (Base-2 / Binary / GiB) |
| - 1 Kibibyte (KiB) = 1,024 Bytes (2^10) |
| - 1 Gibibyte (GiB) = 1,073,741,824 Bytes (2^30) |
| - Windows labels GiB as "GB" on screen |
+-----------------------------------------------------------------+
A. How Storage Drive Manufacturers Calculate Space (Decimal)
Hard drive manufacturers (Seagate, Western Digital, Samsung, SanDisk) measure storage capacity using the Decimal International System of Units (SI), where multipliers scale in clean powers of 1,000 ($10^3$):
- 1 Kilobyte (KB) = $1,000$ Bytes
- 1 Megabyte (MB) = $1,000,000$ Bytes
- 1 Gigabyte (GB) = $1,000,000,000$ Bytes
- 1 Terabyte (TB) =
1,000,000,000,000 Bytes($10^{12}$)
When you buy a 1TB drive, it contains exactly 1 Trillion physical Bytes.
B. How Windows Calculates Space (Binary)
Microsoft Windows measures storage capacity using the Binary System (Base-2), where multipliers scale in powers of 1,024 ($2^{10}$):
- 1 Kibibyte (KiB) = $1,024$ Bytes
- 1 Mebibyte (MiB) = $1,024 \times 1,024 = 1,048,576$ Bytes
- 1 Gibibyte (GiB) = $1,024 \times 1,024 \times 1,024 = 1,073,741,824$ Bytes
- 1 Tebibyte (TiB) = $1024^4 = \mathbf{1,099,511,627,776\text{ Bytes}}$
Here is the problem: Windows calculates storage using binary Tebibytes ($1024^4$), but displays the text label "GB" or "TB" on screen instead of "GiB" or "TiB"!
2. Doing the Math: Why 1TB Equals 931GB on Windows
To see how 1 Trillion bytes becomes 931 GB on Windows, let's divide the manufacturer's byte count by the binary factor ($1024^3$):
$$\text{Reported GB on Windows} = \frac{1,000,000,000,000\text{ Bytes}}{1,024 \times 1,024 \times 1,024}$$
$$\text{Reported GB on Windows} = \frac{1,000,000,000,000}{1,073,741,824} \approx \mathbf{931.32\text{ GB}}$$
The drive contains all 1,000,000,000,000 bytes promised by the manufacturer! However, because Windows divides by $1,073,741,824$ bytes per binary Gigabyte, the resulting number appears smaller on screen.
3. Discrepancy Scale: How Much "Space" Shrinks as Drives Grow
Because binary multipliers compound exponentially ($1024^1 \to 1024^2 \to 1024^3 \to 1024^4$), the percentage gap between advertised decimal storage and reported binary storage grows larger with drive size!
| Advertised Capacity (Decimal Base-10) | Physical Byte Count | Windows Reported Capacity (Binary Base-2) | Apparent "Lost" Space |
| :--- | :--- | :--- | :--- |
| 500 GB | $500,000,000,000$ Bytes | ~465.6 GB | 34.4 GB (~7%) |
| 1 TB (1000 GB) | $1,000,000,000,000$ Bytes | ~931.3 GB | 68.7 GB (~7%) |
| 2 TB (2000 GB) | $2,000,000,000,000$ Bytes | ~1,862.6 GB | 137.4 GB (~7%) |
| 4 TB (4000 GB) | $4,000,000,000,000$ Bytes | ~3,725.2 GB | 274.8 GB (~7%) |
| 16 TB (Enterprise SSD) | $16,000,000,000,000$ Bytes | ~14,551.9 GB (14.55 TB) | 1,448.1 GB (~9%) |
4. How macOS and Linux Handle Storage Accounting
Not all operating systems treat storage capacity like Windows:
- Apple macOS (Mac OS X 10.6 Snow Leopard and Later): Apple updated macOS to use Decimal Base-10 ($1000$) accounting. A 1TB drive connected to a Mac reports exactly
1.0 TB(1000 GB) in Finder, matching the box label perfectly! - Ubuntu & Modern Linux Distributions: Linux explicitly displays binary IEC units (GiB, TiB) in system utilities (such as
gpartedordf -h), avoiding label confusion entirely.
5. Summary & Key Takeaways
- You Are Not Losing Storage: Drive manufacturers deliver the exact byte count advertised on retail packaging.
- The Discrepancy is Mathematical: Manufacturers divide by $1000$, whereas Windows divides by $1024$.
- The 7% Rule of Thumb: On Windows systems, expect usable drive capacity to report at approximately 93% of advertised decimal storage.
Clean Up String Outputs & Calculate Storage Metrics
Working with string outputs or formatting storage labels in code? Use our free Case Converter & Text Transformer to format string variables, or test binary data sizes using our client-side Data Size Calculator!