Mebibyte

Symbol: MiBWorldwide

1 024KiB1 048 576B1,048576MB0,000977GiB1 048,576KB

Qu'est-ce qu'un/une Mebibyte (MiB) ?

Formal Definition

The mebibyte (symbol: MiB) is a unit of digital information storage defined by the International Electrotechnical Commission (IEC) as exactly 2²⁰ bytes, or 1,048,576 bytes. The prefix "mebi-" is a contraction of "mega-binary," and the mebibyte is part of the IEC 80000-13 binary prefix standard introduced in 1998. One mebibyte equals 1,024 kibibytes (KiB).

The mebibyte was created to provide an unambiguous term for the quantity that had traditionally been called a "megabyte" in computing contexts. In computing, memory and storage were historically measured in powers of 1024 due to the binary nature of digital systems, but the same SI prefix "mega" was used — creating ambiguity with the SI definition of mega as exactly 10⁶ (1,000,000). The IEC binary prefix system resolves this: one mebibyte (MiB) is exactly 1,048,576 bytes, while one megabyte (MB) is exactly 1,000,000 bytes.

Size Comparison

One mebibyte is 4.858% larger than one megabyte. While this difference may seem small, it compounds at larger scales and can be significant in practice. A file reported as "100 MB" in decimal contains 100,000,000 bytes, while "100 MiB" in binary contains 104,857,600 bytes — a difference of nearly 5 million bytes. In memory-constrained environments such as embedded systems, firmware development, and operating system kernel programming, this distinction is critical.

Etymology

Construction of the Term

The word "mebibyte" was constructed by the IEC Technical Committee 25 following a systematic naming convention. The prefix "mebi-" combines the first two letters of "mega" with the first two letters of "binary," yielding "mebi" (pronounced MEH-bee). This construction pattern applies to all IEC binary prefixes: kibi, mebi, gibi, tebi, pebi, and exbi. The symbol MiB uses "Mi" for the prefix and "B" for byte.

Linguistic Reception

The term "mebibyte" has faced significant resistance in everyday usage, with many engineers and users finding the IEC binary prefix names awkward or unfamiliar. Critics have noted that words like "mebibyte" and "gibibyte" are phonetically similar and can sound unusual in English. Despite this, the terms have gained steady acceptance in technical documentation, scientific publications, and standards-compliant software over the past two decades.

Precise Definition

IEC 80000-13 Standard

The mebibyte is defined in IEC 80000-13 (formerly IEC 60027-2) as: 1 MiB = 2²⁰ B = 1,048,576 B = 1,024 KiB. The standard explicitly distinguishes this from the megabyte: 1 MB = 10⁶ B = 1,000,000 B = 1,000 kB. Both definitions are precise and unambiguous within their respective frameworks.

International Endorsement

The IEC binary prefixes, including the mebibyte, are endorsed by NIST (in its Guide for the Use of the International System of Units), IEEE (in IEEE 1541-2002), ISO (in ISO/IEC 80000), and BIPM. The standards community has reached consensus that SI prefixes should refer exclusively to powers of 1000, and binary prefixes should be used for powers of 1024. Implementation by software vendors, however, remains inconsistent.

Practical Implications

The difference between MiB and MB affects real-world calculations. When a programmer allocates 256 MB of memory, the operating system typically allocates 256 × 1,048,576 = 268,435,456 bytes (256 MiB). But if a network protocol specifies a 256 MB data limit using the SI definition, it means 256,000,000 bytes. The mebibyte provides a way to specify exactly which interpretation is intended.

Histoire

Origins of the Megabyte Confusion

The term "megabyte" has been ambiguous since the early days of computing. In the 1970s and 1980s, when computer memory was measured in kilobytes and megabytes, the computing industry universally used these terms to mean powers of 1024. The Intel 8086 processor (1978) could address 1 MB of memory, meaning 1,048,576 bytes. The Commodore Amiga (1985), Macintosh (1984), and IBM PC AT (1984) all used "megabyte" to mean 2²⁰ bytes.

The confusion began when storage manufacturers started using the SI definition. Floppy disks, hard drives, and optical media were marketed using powers of 1000, while operating systems displayed sizes using powers of 1024. This discrepancy became a persistent source of consumer complaints and technical confusion.

The IEC Response

The IEC first published the binary prefix standard in 1998, introducing the mebibyte and its sibling units. The standard underwent revision and was incorporated into IEC 80000-13 in 2008. The goal was straightforward: give the binary interpretation its own distinct name and symbol, leaving "megabyte" to mean exactly 10⁶ bytes as the SI prefix system dictates.

Adoption Timeline

Linux distributions began adopting MiB notation in the mid-2000s. The GNU coreutils added IEC binary prefix support. Ubuntu, Fedora, and other distributions updated their file managers and system tools. Apple took a different approach in 2009, making macOS use strict SI decimal definitions (1 MB = 1,000,000 bytes). Microsoft Windows remains the most significant holdout, continuing to use binary calculations with SI labels through Windows 11.

Utilisation actuelle

Software Development

The mebibyte is widely used in software development for specifying memory limits, buffer sizes, and file size constraints. Java Virtual Machine (JVM) memory settings use MiB values: "-Xmx512m" allocates 512 MiB of heap space. Docker container memory limits, Kubernetes resource requests, and cloud function memory allocations are all typically specified in MiB. The Go programming language's runtime reports memory usage in bytes, but developers commonly convert to MiB for readability.

Operating Systems

Linux kernel messages, memory management tools, and system monitors report memory in MiB and GiB. The free command displays memory in kibibytes by default, with -h flag showing human-readable MiB/GiB values. macOS displays memory in decimal MB and GB. Windows displays memory in binary values but labels them as MB and GB, creating a hybrid approach that matches neither standard perfectly.

Networking and Protocols

In networking, file transfer protocols often specify sizes in MiB. FTP, SFTP, and HTTP Content-Length headers use exact byte counts, but user-facing transfer applications display progress in MiB. BitTorrent clients typically display file sizes and transfer rates using binary prefixes (MiB/s).

Embedded Systems and Firmware

Embedded systems commonly have memory measured in exact powers of two: 1 MiB, 2 MiB, 4 MiB, 8 MiB, or 16 MiB of flash storage. Microcontrollers like the ESP32 have 4 MiB of flash memory, and firmware images must fit within these exact binary-sized partitions. The mebibyte is the natural unit for these calculations.

Everyday Use

Common File Sizes

Many everyday files fall in the mebibyte range. A high-resolution smartphone photograph (12 MP, JPEG) is typically 3 to 8 MiB. A three-minute MP3 song at 320 kbps is approximately 7 MiB. A PDF document of 50 pages with images might be 5 to 20 MiB. A one-minute 1080p video clip compressed with H.264 is roughly 15 to 30 MiB depending on bitrate.

Understanding Your Storage

When your computer shows that a folder contains "256 MB" of files, the actual byte count depends on the operating system. On Windows, this means approximately 268 million bytes (256 MiB). On macOS, it means approximately 256 million bytes (256 MB). Understanding this distinction helps explain why a file downloaded from the internet might appear to be a different size depending on which computer you view it on.

Email and Messaging

Email attachment limits are typically specified in mebibytes, though labeled as megabytes. Gmail's 25 MB attachment limit means 25 × 1,000,000 = 25,000,000 bytes. However, base64 encoding used for email attachments increases file size by approximately 33%, so the practical limit is closer to 18.75 MB (17.88 MiB) of original file data.

In Science & Industry

Computer Architecture Research

In computer architecture, the mebibyte is essential for describing cache sizes, memory bandwidth, and page table structures. Modern CPUs have L2 caches of 256 KiB to 2 MiB per core and L3 caches of 8 to 128 MiB shared across cores. Memory bandwidth is measured in MiB/s or GiB/s. Research papers in computer architecture use MiB notation to ensure precision when reporting performance metrics.

Data Compression Research

Compression algorithm benchmarks measure compression ratios using exact byte counts, typically expressed in MiB. The Canterbury Corpus, a standard test suite for compression algorithms, includes files ranging from a few KiB to several MiB. Research papers report compressed sizes in MiB to allow precise comparison between algorithms.

Operating Systems Research

Operating systems research relies on precise memory measurements. Studies of memory allocation patterns, page fault behavior, working set sizes, and memory fragmentation all require unambiguous units. The mebibyte is the standard unit in ACM and IEEE publications on operating systems, virtual memory, and system performance.

Network Protocol Analysis

Network researchers analyze packet captures and traffic patterns using tools that report sizes in MiB. Wireshark, tcpdump, and similar tools display capture file sizes and throughput in both MiB and MB, depending on configuration. Published research on network performance, congestion control, and protocol optimization uses MiB to avoid SI prefix ambiguity.

Interesting Facts

1

The difference between 1 MiB and 1 MB is 48,576 bytes — enough to store approximately 48 pages of plain text. At the terabyte scale, this discrepancy grows to nearly 100 GiB, equivalent to roughly 25 HD movies.

2

The original Apple Macintosh (1984) shipped with 128 KiB of RAM, which Apple marketed as '128K.' Its successor, the Macintosh 512K, had exactly 512 KiB (524,288 bytes) — a quantity that can only be expressed cleanly using binary prefixes.

3

A standard CD-ROM holds 700 MB (700,000,000 bytes) of data, which equals approximately 667.6 MiB. This discrepancy of 32.4 MiB is why early CD burning software sometimes showed confusing capacity figures.

4

The first computer to ship with 1 MiB of RAM was the VAX-11/780 (1977), which could be configured with up to 8 MiB. At the time, this was an extraordinary amount of memory, costing tens of thousands of dollars.

5

Video game cartridges provide a clear example of MiB usage: the original Super Nintendo cartridges ranged from 0.5 MiB to 6 MiB, while Nintendo 64 cartridges maxed out at 64 MiB. Modern Switch game cards hold up to 32 GiB.

6

The Linux kernel's out-of-memory (OOM) killer, which terminates processes when memory runs low, uses exact MiB calculations to determine memory usage. A miscalculation of even a few MiB could mean killing the wrong process.

Conversion Table

UnitValue
Kibibyte (KiB)1 024Convert
Byte (B)1 048 576Convert
Megabyte (MB)1,048576Convert
Gibibyte (GiB)0,000977Convert
Kilobyte (KB)1 048,576Convert

All Mebibyte Conversions

Frequently Asked Questions

What is the difference between MiB and MB?
MiB (mebibyte) equals 1,048,576 bytes (2²⁰), while MB (megabyte) equals 1,000,000 bytes (10⁶). A mebibyte is approximately 4.86% larger than a megabyte. The MiB uses the IEC binary prefix, while MB uses the SI decimal prefix. The distinction matters for accurate data measurement and storage calculations.
Why does my computer show different file sizes than expected?
This is usually because your operating system uses binary calculations (MiB) while labeling them with SI prefixes (MB). Windows displays binary sizes with SI labels, so '1 MB' actually means 1 MiB (1,048,576 bytes). macOS uses true SI definitions (1 MB = 1,000,000 bytes). A 10,000,000-byte file shows as '9.54 MB' on Windows but '10.0 MB' on macOS.
How many MiB are in a GiB?
One gibibyte (GiB) equals exactly 1,024 mebibytes (MiB). Similarly, one mebibyte equals 1,024 kibibytes (KiB), and one tebibyte (TiB) equals 1,024 gibibytes. The binary prefix system consistently uses factors of 1,024 (2¹⁰) between each level.
Should I use MiB or MB?
Use MiB when referring to binary quantities (memory sizes, binary file sizes, operating system memory reports). Use MB when referring to decimal quantities (storage device capacities, network transfer sizes, SI-compliant measurements). In technical documentation and programming, MiB is preferred for clarity. For general audiences, MB with a note about the convention is often more practical.
How many bytes are in a mebibyte?
One mebibyte contains exactly 1,048,576 bytes (2²⁰ = 1,024 × 1,024). This is 48,576 bytes more than a megabyte (1,000,000 bytes). One mebibyte also equals 8,388,608 bits.
Why is RAM measured in MiB but hard drives in MB?
RAM chips are manufactured in sizes that are powers of two (128 MiB, 256 MiB, 512 MiB, etc.) because memory addressing works in binary. Hard drives and SSDs have no such constraint — their capacity is determined by the number of sectors, which can be any number. Storage manufacturers adopted SI (decimal) definitions because they result in larger advertised numbers.
How do I convert between MiB and MB?
To convert MiB to MB: multiply by 1.048576. For example, 100 MiB = 104.8576 MB. To convert MB to MiB: divide by 1.048576. For example, 100 MB = 95.367 MiB. For quick approximation, MiB values are about 5% larger than the same number in MB.