Jaka jest różnica między MiB i MB?

mebi i mega

Czym się różnią mebi i mega i czy powinno nas to interesować?  Informatyka opiera się o systemy binarne. W większości przypadków wystarczą nam więc tylko dwie wartości: 0 i 1. Powszechnie używamy jednak systemu dziesiętnego, korzystając z wachlarzu cyfr od 0 do 9.  Jak łatwo się domyślić, istnieją między nimi różnice mogące poprzez nieścisłości doprowadzać do nieporozumień. Kilobajt to nie 1000, tylko 1024 bajty, zaś kilometr ma metrów 1000, a nie 1024.

system dziesiętny

W międzynarodowym standardzie SI korzystamy z przedrostków odpowiadającym potęgom liczby 10, jak w tabeli:

przedrostki w układzie SI 
Mnożnik Nazwa Symbol
1024 yotta Y
1021 zetta Z
1018 exa E
1015 peta P
1012 tera T
109 giga G
106 mega M
103 kilo k
102 hecto h
101 deka da
Mnożnik Nazwa Symbol
10-1 deci d
10-2 centi c
10-3 milli m
10-6 micro µ
10-9 nano n
10-12 pico p
10-15 femto f
10-18 atto a
10-21 zepto z
10-24 yocto y

system binarny

System dwójkowy również wykorzystuje przedrostki, oznaczone analogiczne do tych z układu SI, w których mnożnik został zastąpiony przez . Dodatkowo przedrostek k jest często oznaczany literą K. Przedrostki binarne mają praktyczne zastosowanie w wielkościach, dla których system dwójkowy jest naturalny, jak na przykład w określaniu wielkości pamięci komputerowej (operacyjne, dyskowej itd.).
Druga sylaba mnożnika zastąpiona jest przez bi(narny), na przykład KiB to kibibajt (1024B), a kB to kilobajt (1000B). Przykłady w tabeli poniżej:

przedrostki w układzie binarnym

 Mnożnik Nazwa  Symbol  Pochodzenie Pochodzi od
 210 kibi Ki kilobinary: (210)1 kilo: (103)1
 220 mebi Mi megabinary: (210) mega: (103)2
 230 gibi Gi gigabinary: (210)3 giga: (103)3
 240 tebi Ti terabinary: (210)4 tera: (103)4
 250 pebi Pi petabinary: (210)5 peta: (103)5
 260 exbi Ei exabinary: (210)6 exa: (103)6
 270 zebi Zi zetabinary: (210)7 zeta: (103)7
 280 yobi Yi yottabinary: (210)8 yotta: (103)8

 

różnice między mebi i mega

Stąd 1 MB (megabajt) wynosi 106 (czyli 10002) bajtów, a 1 MiB (mebibajt) wynosi odpowiednio 220 (czyli 10242) bajtów. Dlatego też:
MiB = 1024 KiB = 1024*1024 B = 1 048 576 B
MB  = 1000 kB  = 1000*1000 B = 1 000 000 B,
a wraz ze wzrostem mnożnika rozbieżności są coraz większe:

IEC podstawa SI
nazwa symbol 2 16 różnica 10 nazwa symbol
kibi Ki 210 162,5 40016 2,40% 1 024 > 103 kilo k
mebi Mi 220 165 10 000016 4,86% 1 048 576 > 106 mega M
gibi Gi 230 167,5 4000 000016 7,37% 1 073 741 824 > 109 giga G
tebi Ti 240 1610 100 0000 000016 9,95% 1 099 511 627 776 > 1012 tera T
pebi Pi 250 1612,5 4 0000 0000 000016 12,59% 1 125 899 906 842 624 > 1015 peta P
eksbi Ei 260 1615 1000 0000 0000 000016 15,29% 1 152 921 504 606 846 976 > 1018 eksa E
zebi Zi 270 1617,5 40 0000 0000 0000 000016 18,06% 1 180 591 620 717 411 303 424 > 1021 zetta Z
jobi Yi 280 1620 1 0000 0000 0000 0000 000016 20,89% 1 208 925 819 614 629 174 706 176 > 1024 jotta Y

Dla uniknięcia niejednoznaczności wprowadzono więc normy i standardy nazewnictwa (IEC 60027-2:1998, IEC 80000-13:2008), które pozwalają zrozumieć, dlaczego dyski i pendrive’y mają czasem mniejszą pojemność, niż sądzimy.