Znaczenie „i” w „MiB”?

82

Widzę użycie „MiB” jako miary reprezentującej rozmiar w Ubuntu. Co oznacza skrót MiB? W szczególności „i”?

Renjith G.
źródło

Odpowiedzi:

115

Istnieją dwa sposoby (w powszechnym użyciu) oznaczania rzędów wielkości, aby ułatwić czytanie dużych liczb, najpierw możesz użyć mocy 10.

10⁰ = 1
10¹ = 10
10² = 100
10³ = 1000

Lub potęgi dwóch

2⁰ = 1
2¹ = 2
2² = 4
2³ = 8

Używając tych serii jako podstawy, dochodzimy do liczb 1000 i 1024 (10³ i 2¹⁰) za kilogram .

Bajt składa się z ośmiu bitów. Zatem jeden kilobajt to 8 × 10³ = 8000 bitów. Producenci dysków twardych stosują tę metodę. W informatyce ludzie zwykle używają mocy dwóch, więc jeden kibibajt ma 8 × 2¹⁰ = 8192 bitów.

Różnica staje się większa, gdy liczby stają się większe. Niektórzy nawet zmieszali te dwa systemy, aby uzyskać ładne liczby do umieszczenia na swoich opakowaniach. Dlatego dyskietka 1,44 MB nie ma ani 1,44 megabajtów, ani 1,44 MB (używają 1024 × 1000).

Logika I to, że terminy pochodzą z oryginalnych przedrostków SI kilo, mega, giga, ale ze słowem binarnym wprowadzonego w. Więc ja to druga litera binarnym . Mnemonik dla kibibajta to „kilogram binarny bajt”, a „KiB” jest wymawiane jako „Kibibyte”.

Wszystko to jest zdefiniowane w standardzie IEC_80000 .

Zauważ, że mebibajt nie jest zdefiniowany jako 2²⁰, ale jako (2 10 ) 2 , chociaż są one równe. Gibibajt to (2 10 ) 3 , tebibajt to (2 10 ) 4 i tak dalej.

Prefix       Bytes                      Prefix       Bytes
1 Byte     = (2^10)^0 = 1               1 Byte     = (10^3)^0 = 1
1 Kibibyte = (2^10)^1 = 1024            1 Kilobyte = (10^3)^1 = 1000
1 Mebibyte = (2^10)^2 = 1048576         1 Megabyte = (10^3)^2 = 1000000
1 Gibibyte = (2^10)^3 = 1073741824      1 Gigabyte = (10^3)^3 = 1000000000
1 Tebibyte = (2^10)^4 = 1099511627776   1 Terabyte = (10^3)^4 = 1000000000000

Należy pamiętać, że bardzo często termin kilobajt jest używany, gdy autor oznacza kibibajt. Jednostka binarna została wprowadzona dopiero około 1999 r., Jak podkreśla Randy Orrison.


Jak dowiedział się nealmcb w komentarzach, istnieje oficjalna polityka:
https://wiki.ubuntu.com/UnitsPolicy

Podsumowując, ta zasada przypomina programistom, aby używali przedrostków SI lub IEC, ale nigdy ich nie mieszali. Mówi dalej:

W przypadku rozmiarów plików istnieją dwie możliwości:

  • Pokaż zarówno base-10, jak i base-2 (w tej kolejności). Przykładem jest jądro Linuksa: „2930277168 512-bajtowe sektory sprzętowe: (1,50 TB / 1,36 TiB)”
  • Pokaż tylko base-10 lub daj użytkownikowi możliwość wyboru między base-10 a base-2 (domyślnie musi to być base-10).
Stefano Palazzo
źródło
8
Zobacz także wiki.ubuntu.com/UnitsPolicy
nealmcb
5
Moja przyjemność. Spędziłem dużo czasu na tym i powiązanych błędach. Dzięki za świetny opis tutaj!
nealmcb 19.01.11
1
Zamiast „Pamiętaj, że bardzo często termin kilobajt jest używany, gdy autor oznacza kibibajt”. Powiedziałbym: „Pamiętaj, że termin kibibajt został wprowadzony dopiero w 1999 r., A wcześniej kilobajt odwoływał się do 1024 bajtów. Większość dokumentacji, oprogramowanie, a programiści powyżej 12 lat nadal będą używać oryginalnej wersji ”. Poza tym doskonały napis. (Data z bardzo szybkiego
wglądu
@RandyOrrison To mit. „kilo” jest używany w obu definicjach w informatyce od lat 50. XX wieku. en.wikipedia.org/wiki/Timeline_of_binary_prefixes
endolith
Dla ciekawskich dyskietka 1,44 „MB” ma 1,47 MB ​​lub 1,41 MiB.
wjandrea
12

Co oznacza skrót MiB? W szczególności „i”?

Ponieważ nikt tak naprawdę nie odpowiedział: „MiB” oznacza „ m egab i nary b yte”, co można skrócić do „ m eb ib yte” (choć brzmi to trochę głupio i wolałbym po prostu mówić „ megabinary ”). Zobacz wyjaśnienie NIST.

Tak więc „i” pochodzi od słowa „binarny”.

W przeszłości istniały inne propozycje skrócenia tych jednostek, ale wszystkie one nie uzyskały przyczepności:

  • κ = 1024, κ2 = 1024², κ3 = 1024³, ... (grecka litera kappa, trudna do wpisania)
  • KKB = 1024, MMB = 1024², GGB = 1024³, ... (może być źle interpretowany jako megamegabajt = TB)
  • bK = 1024, bK² = 1024², bK³ = 1024³, ... (gdy zaproponowano, wiele komputerów nie miało nawet małych liter)
  • 1B10 = 1024, 1B20 = 1024², 1B30 = 1024³, ...
  • k₂B = 1024, M₂B = 1024², G₂B = 1024³, ...
endolit
źródło
4

Są to przedrostki binarne , odpowiadające bardziej powszechnym przedrostkom dziesiętnym. (To dobry artykuł, który dobrze wyjaśnia uzasadnienie.)

Wymuskany
źródło