Significato di "i" in "MiB"?


82

Vedo l'uso di "MiB" come misura per rappresentare la dimensione in Ubuntu. Cosa significa MiB? In particolare la "i"?

Risposte:


115

Esistono due modi (di uso comune) per indicare gli ordini di grandezza per facilitare la lettura di grandi numeri, in primo luogo è possibile utilizzare una potenza di 10.

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

O poteri di due

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

Usando queste serie come base arriviamo ai numeri 1000 e 1024 (10³ e 2¹⁰) per un chilo .

Ci sono otto bit per un byte. Quindi un kilobyte è 8 × 10³ = 8000 bit. I produttori di dischi rigidi utilizzano questo metodo. Nell'informatica, le persone di solito usano potenze di due, quindi un kibibyte è 8 × 2¹⁰ = 8192 bit.

La differenza aumenta solo quando i numeri aumentano. Alcuni hanno persino mischiato questi due sistemi per ottenere dei bei numeri da mettere sulla loro confezione. Ecco perché un floppy disk da 1,44 MB non ha né 1,44 megabyte né 1,44 mebibyte (usano 1024 × 1000).

La logica dietro l'i è che i termini sono derivati ​​dai prefissi si originali, chilo, mega, giga, ma con la parola binaria inserita. Quindi l' i è la seconda lettera di binario . Il mnemonico per il kibibyte è "kilo binary byte" e "KiB" è pronunciato "Kibibyte".

Tutto ciò è definito nella norma IEC_80000 .

Si noti che un mebibyte non è definito come 2²⁰, ma come (2 10 ) 2 , sebbene siano uguali. Un gibibyte è (2 10 ) 3 , un tebibyte è (2 10 ) 4 e così via.

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

Tieni presente che, molto spesso, il termine kilobyte viene utilizzato quando l'autore significa kibibyte. L'unità binaria è stata introdotta solo intorno al 1999, come sottolinea Randy Orrison.


Come ha scoperto nealmcb nei commenti, esiste una politica ufficiale al riguardo:
https://wiki.ubuntu.com/UnitsPolicy

In breve, questa politica ricorda agli sviluppatori di utilizzare prefissi SI o IEC, ma di non mescolarli mai. Continua dicendo:

Per le dimensioni dei file ci sono due possibilità:

  • Mostra entrambi, base-10 e base-2 (in questo ordine). Un esempio è il kernel Linux: "2930277168 settori hardware a 512 byte: (1,50 TB / 1,36 TiB)"
  • Mostra solo base-10 o offri all'utente la possibilità di decidere tra base-10 e base-2 (il valore predefinito deve essere base-10).


5
Il piacere è tutto mio. Ho trascorso un sacco di tempo su questo e sui relativi bug. Grazie per un ottimo commento qui!
nealmcb,

1
Invece di "Tieni presente che, molto spesso, il termine kilobyte viene utilizzato quando l'autore significa kibibyte" direi "Tieni presente che il termine kibibyte è stato introdotto solo nel 1999 e prima di allora kilobyte si riferiva a 1024 byte. La maggior parte della documentazione, software e programmatori di età superiore ai 12 anni continueranno a utilizzare il modulo originale ". A parte questo, un eccellente commento. (Data da uno sguardo molto veloce a Wikipedia, potrei essere fuori un po 'o due.)
Randy Orrison,

@RandyOrrison Questo è un mito. "chilo-" è stato utilizzato con entrambe le definizioni nel campo dell'informatica dagli anni '50. en.wikipedia.org/wiki/Timeline_of_binary_prefixes
endolith

Per i curiosi, un floppy da 1,44 "MB" ha 1,47 MB ​​o 1,41 MiB.
wjandrea,

12

Cosa significa MiB? In particolare la "i"?

Dal momento che nessuno ha effettivamente risposto a questa domanda: "MiB" sta per " m egab i nary b yte ", che può essere abbreviato in " m eb ib yte" (anche se questo sembra un po 'stupido, e preferirei limitarmi a dire " megabinary "). Vedi la spiegazione del NIST.

Quindi la "i" deriva dalla parola "binario".

Ci sono state altre proposte per abbreviare queste unità in passato, ma tutte non sono riuscite a guadagnare trazione:

  • κ = 1024, κ2 = 1024², κ3 = 1024³, ... (lettera greca kappa, difficile da scrivere)
  • KKB = 1024, MMB = 1024², GGB = 1024³, ... (potrebbe essere interpretato erroneamente come megamegabyte = TB)
  • bK = 1024, bK² = 1024², bK³ = 1024³, ... (quando proposti, molti computer non avevano nemmeno lettere minuscole)
  • 1B10 = 1024, 1B20 = 1024², 1B30 = 1024³, ...
  • k₂B = 1024, M₂B = 1024², G₂B = 1024³, ...


4

Sono prefissi binari , corrispondenti ai prefissi decimali più comuni. (Questo è un buon articolo che spiega bene la logica.)

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.