Przed wprowadzeniem przedrostków binarnych, dość powszechnie używano k=1000 i K=1024 podobnie do b=bit, B=bajt. Niestety, M już jest wielką literą i nie można jej uczynić wielką, aby oznaczyć binarność.
Na początku nie miało to większego znaczenia, gdyż moduły pamięci i dyski były produkowane w rozmiarach będących potęgami dwójki. Zatem każdy wiedział, że w danym kontekście "kilobajt" i "megabajt" oznaczają, odpowiednio, 1024 i 1048576 bajtów. To, co pierwotnie było rozmytym stosowaniem przedrostków "kilo" i "mega" zaczęło być traktowane jako "rzeczywiste i prawdziwe znaczenie" w odniesieniu do komputerów. Wówczas zmieniła się technologia i rozmiary dysków stały się dowolne. Po okresie niepewności wszyscy producenci dysków zaczęli stosować standard, czyli k=1000, M=1000 k, G=1000 M.
Sytuacja stała się brzydka: w przypadku modemów 14k4, k=1000; w przypadku dyskietek 1.44 MB, M=1024000 itd. W 1998 Międzynarodowa Komisja Elektrotechniczna przyjęła standard definiujący powyższe przedrostki binarne, umożliwiając stosowanie precyzyjnych i jednoznacznych jednostek.
Zatem obecnie, MB = 1000000 B a MiB = 1048576 B.
W świecie wolnego oprogramowania, programy powoli stają się zgodne z tym standardem. Podczas startu jądro Linuksa mówi
hda: 120064896 sectors (61473 MB) w/2048KiB Cache
MB to megabajty a KiB to kibibajty.