Why Google says that 4MB = 4,000,000 bytes

12,041

Yes, the International System of Units says that M means “106”, not “1,024 × 1,024”. Additionally, there's the ISO/IEC 60027-2 which says that Mi means “220”.

You could try “how many bytes in 4MiB” in Google to get a totally different result.

Microsoft often uses the SI units for powers of two, so 4MB probably means 4MiB, so “4,194,304”.

Actually, the binary prefixes system (ki, Mi…) is not that old: it was approved by the IEC only in 1998. People used to work with powers of two way before that, and used the traditional SI units prefixes for that. It's not uncommon to see it used that way even today.

Share:
12,041
Nazar
Author by

Nazar

Updated on June 22, 2022

Comments

  • Nazar
    Nazar about 2 years

    I thought that 4MB would be 4 * 1024 * 1024 = 4,194,304 Bytes, but Google says that it is 4,000,000 Bytes. Is there a different interpretation?

    Well, according to the maximum transfer size for Win7 bulk endpoint, I need to allocate 4MB of memory. Would this be 4,194,304 or 4,000,000?

  • Nazar
    Nazar almost 9 years
    This makes sense. If I asked Google right question, I would get a correct answer.
  • Chris
    Chris about 6 years
    That's cool, didn't know about MiB! For completeness, it'd be worth to mention mbps: 10Mbps = 10e6 bits per second, which is 1.25 MB / s.