Because megabytes are ambiguous and misuse the prefix "mega" as defined by the International System of Units, the International Electrotechnical Commission established Mebibytes in 2000.
A Mebibyte is exactly 2^20, or 1,048,576 bytes, always, never 1,000,000 bytes like megabytes can be.
Mebibytes are 1,024 kibibytes and precede gibi, tebi, pebi, exbi, zebi and yobi in byte measurement.