Cookie di statistica e di pubblicità
Usiamo cookie di statistica e di pubblicità, entrambi inviati a Google. Rifiutare non cambia niente di quello che vedi.Leggi la pagina sulla privacy
1 B = 9,31322574615e-10 GiB
Scrivi un valore e la conversione da byte a gibibyte si aggiorna mentre digiti. Il fattore è esattamente 9,31322574615e-10: è quello che corrisponde in GiB a 1 B. Il calcolo si fa sul tuo dispositivo; dopo il caricamento questa pagina non interroga più nessun server.
5000000 B is 0,004657 GiB
— una foto fatta con il telefono.
1024 B is 9,537e-7 GiB
— un kibibyte, che è dove comincia la confusione.
8590000000 B is 8 GiB
— la memoria di un portatile di fascia media.
999700000000 B is 931 GiB
— quello che Windows mostra per un disco da un terabyte.
| B | GiB |
|---|---|
| 10000000 | 0,00931322574615 |
| 20000000 | 0,0186264514923 |
| 50000000 | 0,0465661287308 |
| 100000000 | 0,0931322574615 |
| 500000000 | 0,465661287308 |
| 1000000000 | 0,931322574615 |
| 5000000000 | 4,65661287308 |
| 10000000000 | 9,31322574615 |
Convertire B in GiB
Un byte è otto bit, cosa che non è sempre stata scontata: i primi calcolatori ne usarono sei, sette o nove. L’otto si è imposto perché ci sta dentro un carattere e perché la cifra si divide in metà pulite.
Un gibibyte è 1.073.741.824 byte, circa il 7 % in più di un gigabyte. Windows misura in gibibyte ma li etichetta «GB», e in questo consiste tutto il mistero dello spazio che sparisce.
In questa direzione il conto è una divisione, e per un numero intero: 1.073.741.824 di queste stanno in un gibibyte senza avanzo. L'unica scomodità è che i risultati escono in frazioni — un terzo, un dodicesimo — invece delle cifre tonde che dà la direzione opposta.
Non si perde comunque nulla, perché la divisione è esatta. Se il risultato non sta fermo in decimali — 0,0833… e parenti —, quella è la frazione che traspare, non un errore che si insinua.
Un GiB è 1.024 dell'unità sotto; un GB è 1.000. Su questa pagina è la differenza tra 1073741824 B e 1000000000 B — il 7,4 % — e la distanza cresce a ogni gradino: per questo è un arrotondamento trascurabile su una foto e un pezzo visibile di un disco fisso.
Il mistero dello spazio che manca sta tutto qui. Un disco venduto come un terabyte contiene esattamente quello che dichiara in unità decimali, ed è Windows a ricontarlo in unità binarie tenendo però il nome decimale: il numero si accorcia senza che si sia perso niente. macOS conta questi valori in unità decimali fin dalla 10.6, ed è per questo che lo stesso disco può sembrare di due dimensioni diverse su due computer.
Un software emette una dimensione in byte per principio: la cifra non ha prefisso da interpretare, non ha arrotondamento da disfare, non porta dentro nessuna convenzione locale. È esattamente ciò che la rende illeggibile: 17.179.869.184 non dice nulla finché non viene diviso per qualcosa.
La divisione da usare è 1.073.741.824 quando il sistema che ha prodotto il numero ragiona in binario, cioè memoria, cache di pagina, spazio occupato su un filesystem e quasi tutti i contatori di sistema operativo. Quella cifra dà 16 GiB esatti. Dividere per un miliardo al suo posto dà 17,18 e nasconde il fatto che il numero era una potenza di due pulita.
Prima di dividere, conta le cifre. Dieci cifre ti mette tra 0,93 e 9,3 GiB, undici tra 9,3 e 93, dodici tra 93 e 931, e tredici cifre ti porta intorno a un tebibyte. Basta un colpo d’occhio per rispondere alla maggior parte delle domande che pone un contatore di byte, senza fare alcun calcolo.
L’abitudine paga soprattutto sulle uscite che mescolano scale diverse. Un’API che restituisce una dozzina di contatori di byte ne avrà alcuni nei milioni e altri nei miliardi, e l’occhio li ordina per lunghezza più in fretta di quanto li ordini per valore.
Alcuni numeri meritano di essere riconosciuti a colpo d’occhio perché si annunciano da soli. 1.073.741.824 è un gibibyte, 2.147.483.648 sono due, 4.294.967.296 quattro, 8.589.934.592 otto. Quando uno di questi compare in un’uscita è quasi sempre una capacità o un limite, perché una misura reale raramente cade esattamente su una potenza di due.
Vale anche il contrario. Un contatore di byte che finisce con una lunga serie di zeri — 1.000.000.000, 50.000.000.000 — è stato digitato da una persona o derivato da un valore decimale, e non corrisponde a nulla che l’hardware faccia spontaneamente.
I linguaggi che salvano tutti i numeri come float a doppia precisione rappresentano gli interi esattamente fino a 9.007.199.254.740.991, cioè 2⁵³ meno uno, circa 8 PiB. Sotto quel tetto un contatore di byte è sicuro; sopra, i valori si arrotondano in silenzio, e due dimensioni diverse possono confrontarsi come uguali senza che nessun errore venga sollevato.
La maggior parte dei sistemi non ci arriverà mai, e quelli che ci arrivano lo fanno di solito in aggregato — un totale su un parco macchine, un contatore di trasferimento a vita — piuttosto che su un singolo file. La difesa è tenere i contatori in interi a 64 bit o in stringhe attraverso una serializzazione.
Molti strumenti hanno una modalità che sopprime la loro formattazione leggibile, e vale la pena usarla ogni volta che l’uscita va altrove rispetto a uno schermo. Gli strumenti di spazio disco accettano una dimensione di blocco pari a uno, e le API di storage a oggetti restituiscono una lunghezza in byte per prassi. Tutte queste fonti sono senza perdita, cosa che un 1,4 GiB già formattato non è.
La perdita non si recupera dopo. Una cifra mostrata come 1,4 GiB potrebbe essere qualunque cosa tra 1.449.551.462 e 1.556.925.644 byte, uno scarto di oltre 100 MB, e nessuna moltiplicazione restringe l’incertezza.
La regola che evita quasi tutte le discussioni è mostrare l’unità nella quale conta il sistema misurato. Memoria, cache di pagina e spazio su un volume sono binari, quindi un grafico che li rappresenta va in GiB. I totali di storage a oggetti, i volumi di traffico in uscita e tutto ciò che compare in una fattura sono decimali, quindi vanno in GB.
Qualunque unità si scelga, l’etichetta dell’asse deve dire quale sia. Un grafico di memoria etichettato GB mentre traccia una divisione per 2³⁰ ripete lo stesso errore che fa Windows, in un punto in cui qualcuno prima o poi lo confronterà con una cifra decimale letta su una bolletta.
La verifica più economica consiste nel ripetere l’operazione all’indietro. Prendi la cifra in gibibyte, moltiplicala per 1.073.741.824 e confrontala con la stringa di cifre originale. Se il risultato si discosta di circa il sette per cento, il divisore era un miliardo invece di 2³⁰; se è fuori di un fattore 1.024, un prefisso è saltato da qualche parte.
Dove una conversione è incorporata nel codice piuttosto che fatta a mano, lo stesso controllo va in un test con una coppia nota: 5.368.709.120 byte fanno 5 GiB, e qualunque implementazione che produce 5,37 ha usato il divisore decimale.
1 B fa 9,31322574615e-10 GiB. Il valore è esatto e non arrotondato: l’equivalenza fra byte e gibibyte è fissata per definizione.
No. Il calcolo avviene nel tuo browser. Puoi staccare la connessione e continuare a calcolare, che fra l’altro è il modo più semplice di verificarlo.
Perché due unità diverse portano lo stesso nome. I produttori contano 1 GB = 1.000.000.000 byte; Windows mostra gibibyte, cioè 1.073.741.824 byte, ma li chiama «GB». Lo stesso disco sembra così più piccolo del sette per cento. Non è sparito niente.
Un GiB è 1073740000 B. È la stessa relazione letta al rovescio, quindi un risultato di una pagina fatto passare per l’altra deve tornare da dove è partito.
Quello che questa pagina afferma su unità di informazione si può verificare, e questi sono i documenti che chiudono la questione.
Il fattore è una costante nella pagina e il conto sono quattro operazioni, quindi non si invia niente da nessuna parte e niente ha bisogno di essere inviato. Il numero che scrivi non esce dal browser — non esiste una richiesta su cui potrebbe viaggiare.