One mebibyte is exactly 1.048576 megabytes, because a mebibyte is 2²⁰ bytes — 1,048,576 — and a megabyte is exactly one million. This pair exists to make that distinction sayable, which for decades it was not.
About the units
Until 1998 there was no way to write down the binary million without ambiguity. Computing used MB for 1,048,576 bytes, metric used M for 1,000,000, and the same two letters meant both. The International Electrotechnical Commission resolved it by creating a parallel set of prefixes built from the first two letters of the decimal prefix plus "bi" for binary: kibi, mebi, gibi, tebi, pebi. A mebibyte, MiB, is unambiguously 2²⁰ bytes. The naming was widely mocked when introduced and has been adopted unevenly ever since — Linux tooling and RAM specifications use it, consumer marketing largely ignores it.
The exact factor
The exact value is 2²⁰ ÷ 10⁶ = 1,048,576 ÷ 1,000,000 = 1.048576. The 4.9 per cent difference is the accumulated result of two prefixes: 1.024² = 1.048576. Each further prefix multiplies by 1.024 again, which is why the gap widens from 2.4 per cent at kilo to 4.9 at mega, 7.4 at giga and 10.0 at tera. Memory is the one place the binary unit is physically correct rather than merely conventional, because RAM is addressed in powers of two and a 16 GiB module really does contain 2³⁴ bytes.
Where you meet this conversion
Linux system tools, which report memory and disk usage in mebibytes and label them correctly. Java heap settings, container memory limits and virtual machine allocations are specified in MiB or with an M suffix that means MiB. Downloading a Linux distribution, the image size is quoted in MiB while the browser reports MB, and the two figures differ by five per cent for the same file. RAM is always specified in binary units even when the label omits the i.