0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0
Capacità da convertire
Converti una capacità tra le unità decimali usate dai produttori (kB, MB, GB, TB), quelle binarie riportate dal sistema operativo (KiB, MiB, GiB, TiB) e i bit usati dalle reti. Inserisci il valore e vedrai, oltre a tutte le equivalenze, perché un disco da 1 TB appare come 931 GB sul computer.
La capacità così com'è scritta sulla scatola o nel sistema
TB è quello che dice la scatola; TiB, quello che conta il sistema
Capacità più comuni
La scatola contro il sistema operativo
1 TBQuello che dice il produttore
931,3226 GB Quello che mostra il sistema 931,3226 GiB in unità reali
Byte1.000.000.000.000
Il produttore conta 1000 GB perché per lui ogni prefisso vale 1000 byte. Il sistema operativo misura quegli stessi 1.000.000.000.000 byte in potenze di 1024 e mostra 931,3226 GB, anche se in realtà sono 931,3226 GiB: il numero sullo schermo risulta 6,87 % più piccolo senza che si perda un solo byte.
Equivalenze
Decimali (SI) · potenze di 1000
Bbyte1.000.000.000.000
kBkilobyte1.000.000.000
MBmegabyte1.000.000
GBgigabyte1000
TBterabyte1
PBpetabyte0,001
EBexabyte0,000001
Binarie (IEC) · potenze di 1024
KiBkibibyte976.562.500
MiBmebibyte953.674,3164
GiBgibibyte931,3226
TiBtebibyte0,9095
PiBpebibyte0,0008882
EiBexbibyte0,0000008674
Bit · 8 bit per byte
bitbit8.000.000.000.000
kbitkilobit8.000.000.000
Mbitmegabit8.000.000
Gbitgigabit8000
Tbitterabit8
Prefisso per prefisso
Prefisso
Decimale
Binario
Differenza
Kilo
1 kB1.000 B
1 KiB1.024 B
+2,4 %1 kB = 0,977 KiB
Mega
1 MB1.000.000 B
1 MiB1.048.576 B
+4,86 %1 MB = 0,954 MiB
Giga
1 GB1.000.000.000 B
1 GiB1.073.741.824 B
+7,37 %1 GB = 0,931 GiB
Tera
1 TB1.000.000.000.000 B
1 TiB1.099.511.627.776 B
+9,95 %1 TB = 0,909 TiB
Peta
1 PB1.000.000.000.000.000 B
1 PiB1.125.899.906.842.624 B
+12,59 %1 PB = 0,888 PiB
Exa
1 EB1.000.000.000.000.000.000 B
1 EiB1.152.921.504.606.847.000 B
+15,29 %1 EB = 0,867 EiB

I prefissi binari KiB, MiB, GiB e TiB sono normati dal 1998 dalla IEC (norma 80000-13) proprio per evitare questa ambiguità. Linux e macOS li rispettano già; Esplora file di Windows continua a etichettare come GB quelli che in realtà sono GiB.

Come funziona

Le unità di archiviazione si contano in due modi diversi ed entrambi sono corretti. Il sistema decimale, quello usato dai produttori di dischi e dal Sistema Internazionale, moltiplica per 1000 a ogni prefisso: un kB sono 1000 byte, un MB un milione e un TB mille miliardi. Il sistema binario, nato con i computer, moltiplica per 1024, perché memoria e bus vengono indirizzati in potenze di due.

Il problema è che per decenni i due sistemi hanno usato gli stessi nomi. Quando Esplora file di Windows scrive "GB" in realtà sta calcolando gibibyte, cioè sta dividendo per 1024 tre volte. Per questo un disco da 1 TB, che contiene esattamente mille miliardi di byte, appare sullo schermo come 931,32 GB: non manca nulla, è cambiato solo il metro con cui si conta. Dal 1998 la norma IEC 80000-13 risolve l'ambiguità con i prefissi binari KiB, MiB, GiB e TiB.

Questo strumento converte una capacità nelle tre famiglie contemporaneamente —decimale, binaria e bit— e mostra la quantità esatta di byte, la cifra dichiarata dal produttore e quella che mostrerà il sistema operativo, con la percentuale di differenza tra le due. Tutto il calcolo avviene nel browser.

Esempi

1 TB931,32 GBIl disco contiene 1.000.000.000.000 di byte, esattamente ciò che promette la scatola. Il sistema li divide tre volte per 1024 e mostra 931,32 GB, che a rigore sono 931,32 GiB. Sullo schermo sembrano mancare quasi 69 GB; sul disco non manca un solo byte.
1 GiB1073741824 BUn gibibyte sono 2^30 byte. Un gigabyte decimale sono 1.000.000.000, quindi quello binario è più grande del 7,37 %. È la stessa differenza che separa ciò che intendi quando chiedi "un giga" da ciò che capisce ogni programma.
4 TB3,64 TiBPiù grande è il prefisso, più i due sistemi si allontanano: 2,34 % nei kilo, 6,87 % nei giga e 9,05 % nei tera. Per questo la sensazione di "disco piccolo" peggiora proprio con i dischi grandi.
100 Mbit12,5 MBI collegamenti di rete si misurano in bit e l'archiviazione in byte. Un collegamento da 100 Mbit/s scarica al massimo 12,5 MB al secondo, perché ogni byte sono 8 bit. Questo conto spiega metà dei reclami rivolti agli operatori internet.

Casi d'uso

  • Capire perché un disco da 1 TB o una chiavetta USB da 64 GB mostrano meno capacità di quella dichiarata sulla confezione.
  • Tradurre in qualcosa di leggibile la dimensione in byte restituita da un'API, da un log o dal comando ls -l.
  • Confrontare la dimensione di un backup o di un'immagine tra due strumenti che misurano con metri diversi.
  • Dimensionare quote, volumi o limiti di caricamento quando la documentazione parla in MiB e l'interfaccia in MB.
  • Convertire la velocità di un collegamento in Mbit/s nella velocità di download reale in MB/s.
  • Spiegare a un cliente, con i numeri, che il disco che ha comprato non ha meno spazio di quanto promesso.

Domande frequenti

Ho comprato un disco da 1 TB e vedo 931 GB, mi hanno truffato?

No. Il disco ha 1.000.000.000.000 di byte, che è ciò che significa 1 TB nel sistema decimale usato da tutti i produttori. Windows prende quegli stessi byte e li divide per 1024 tre volte, ottenendo 931,32, ma etichetta il risultato come "GB" invece che "GiB". È un problema di targhetta, non di capacità: i byte ci sono tutti. Ciò che si perde davvero, e a parte, è quello che il file system riserva quando formatta.

Qual è la differenza tra GB e GiB?

Un GB sono 1.000.000.000 di byte (10^9) e un GiB sono 1.073.741.824 (2^30). Il gibibyte è più grande del 7,37 %. Lo stesso rapporto si ripete a ogni livello: kB contro KiB, MB contro MiB, TB contro TiB. I simboli binari hanno una "i" nel mezzo e si pronunciano kibi, mebi, gibi e tebi.

Tutti i sistemi operativi mostrano lo stesso valore?

No, e questo aggiunge confusione. Windows calcola in potenze di 1024 ma etichetta GB e TB, quindi mostra 931 GB per un disco da 1 TB. macOS misura in decimale dal 2009, perciò lo stesso disco appare come 1 TB. Su Linux dipende dallo strumento: df -h e ls -lh usano 1024, df -H e ls -l --si usano 1000, e molte utility scrivono già GiB quando è corretto. Il disco non è mai cambiato; è cambiato chi lo misura.

Perché la memoria RAM invece coincide con quanto dichiarato sulla scatola?

Perché la memoria viene prodotta e indirizzata in potenze di due: un modulo da "16 GB" ha in realtà 16 GiB, cioè 17.179.869.184 byte. Poiché anche il sistema operativo conta in binario, i due numeri coincidono e nessuno nota nulla. Con i dischi accade il contrario: il produttore conta in decimale e il sistema in binario, e la differenza salta all'occhio.

Di quanto cresce la differenza a seconda del prefisso?

Si accumula del 2,4 % per livello. Il numero mostrato dal sistema risulta più piccolo del 2,34 % nei kilo, 4,63 % nei mega, 6,87 % nei giga, 9,05 % nei tera, 11,18 % nei peta e 13,26 % negli exa. Per questo in un file di pochi kB la differenza è impercettibile, mentre in un array da diversi petabyte rappresenta centinaia di terabyte di aspettativa.

Un Mbit è la stessa cosa di un MB?

No, e la differenza è di otto volte. I collegamenti di rete si misurano in bit al secondo e l'archiviazione in byte, e un byte sono 8 bit. Un collegamento da 300 Mbit/s consegna al massimo 37,5 MB/s in download, prima ancora di scalare gli header dei protocolli. In più i prefissi di rete sono sempre decimali: un Mbit è un milione di bit, mai 1.048.576.

Perché al mio SSD manca ancora più spazio?

Alla differenza tra decimale e binario si sommano due cose. La prima è l'over-provisioning: il controller si riserva una porzione della memoria flash, non utilizzabile, per sostituire i blocchi usurati e accelerare la scrittura. La seconda è il file system, che consuma spazio in tabelle, journal e metadati appena si formatta. Nessuna delle due è un difetto: sono il prezzo perché l'unità duri e funzioni.

Quindi quale unità conviene usare quando si scrive documentazione?

Quella che non lascia dubbi. Se il valore è calcolato con potenze di 1024, scrivi MiB o GiB; se è calcolato con potenze di 1000, scrivi MB o GB. In un'API o in un file di configurazione la cosa più sicura è esporre direttamente la quantità di byte e lasciare che sia l'interfaccia a decidere come mostrarla. È una riga di codice che evita ore di discussione sul perché due strumenti riportano cifre diverse per lo stesso file.