Antes de que se introdujeran estos prefijos binarios, era bastante común usar k=1000 y K=1024, al igual que b=bit, B=byte. Desafortunadamente, la letra M ya es mayúscula, y no puede ser puesta como mayúscula de nuevo para indicar la condición de binario.
Al principio poco importaba esto, puesto que los módulos de memoria y los discos venían en tamaños que eran potencias de dos, así que todo el mundo sabía que en esos contextos "kilobyte" y "megabyte" hacían referencia a 1024 y 1048576, respectivamente. Lo que al principio era un uso descuidado de los prefijos "kilo" y "mega" comenzó a convertirse en "el verdadero significado" cuando se vieron implicadas las computadoras. Pero después la tecnología de los discos cambió, y los tamaños de los discos eran números arbitrarios. Tras un período de incertidumbre todos los fabricantes de discos adoptaron el estándar, a saber k=1000, M=1000 k, G=1000 M.
La situación era liosa: en los modems 14k4, k=1000; en los diskettes de 1.44 MB, M=1024000; etc. En 1998 el IEC aprobó el estándar que define los prefijos binarios dados arriba, permitiendo a la gente ser precisa e inequívoca.
Así que, hoy en día, MB = 1000000 B y MiB = 1048576 B.
En el mundo del software libre los programas están cambiando lentamente para ajustarse a las reglas. Cuando el núcleo de Linux arranca y dice
hda: 120064896 sectors (61473 MB) w/2048KiB Cache
los MB son megabytes y los KiB son kibibytes.