MB vs MiB
A megabyte is 1,000,000 bytes while a mebibyte is 1,048,576 bytes, and the gap grows with each prefix until a 1 TB drive reports as 931 GB.
By Piero Nanni · Last checked
Two prefix systems
The SI prefixes kilo, mega, giga and tera mean powers of a thousand everywhere else in measurement. Early computing borrowed them for the nearest powers of two, because 1,024 is close to 1,000 and memory comes in powers of two by construction.
The approximation held well enough at kilobyte scale, where the error is 2.4 percent. It does not hold at terabyte scale, where it reaches 10 percent. In 1998 the IEC introduced separate binary prefixes, kibi, mebi, gibi and tebi, to end the ambiguity.
| Decimal | Bytes | Binary | Bytes | Gap |
|---|---|---|---|---|
| 1 kB | 1,000 | 1 KiB | 1,024 | 2.4% |
| 1 MB | 1,000,000 | 1 MiB | 1,048,576 | 4.9% |
| 1 GB | 1,000,000,000 | 1 GiB | 1,073,741,824 | 7.4% |
| 1 TB | 1,000,000,000,000 | 1 TiB | 1,099,511,627,776 | 10.0% |
The missing capacity is a labelling difference
A drive sold as 1 TB really does contain 1,000,000,000,000 bytes. Windows divides that by 1,073,741,824 to get gibibytes and then labels the result "GB", producing 931. No storage is missing; the same bytes are being described in a different unit under a borrowed name.
macOS switched to decimal units in Snow Leopard, which is why the same drive reports as 1 TB on a Mac and 931 GB on a Windows machine. Linux tools vary, and many now print GiB explicitly.
Where each convention is used
Storage manufacturers, network speeds and most consumer specifications use decimal units. RAM is always binary, because memory addressing makes any other size impossible to build. File sizes depend entirely on which tool is reporting them.
Network speed adds a second trap on top: it is quoted in bits per second, not bytes. A 100 Mb/s connection delivers at most about 12.5 MB/s, and the lowercase b against the uppercase B is the only thing distinguishing them.
Frequently Asked Questions
Why does my 1 TB drive only show 931 GB?
The drive holds 10¹² bytes. Windows divides by 2³⁰ to show gibibytes but labels them GB, giving 931.
How many bytes are in a megabyte?
1,000,000 in decimal usage. A mebibyte (MiB) is 1,048,576 bytes.
Is RAM measured in binary or decimal?
Binary. An 8 GB memory module holds 8 GiB, or 8,589,934,592 bytes.
Is 100 Mbps the same as 100 MB/s?
No. 100 megabits per second is about 12.5 megabytes per second. Eight bits make a byte.