Convertire B in KiB

B
0,0009765625KiB

1 B = 0,0009765625 KiB

Scrivi un valore e la conversione da byte a kibibyte si aggiorna mentre digiti. Il fattore è esattamente 0,0009765625: è quello che corrisponde in KiB a 1 B. Il calcolo si fa sul tuo dispositivo; dopo il caricamento questa pagina non interroga più nessun server.

  • Dove gira Nel tuo browser. Il numero che scrivi non entra mai in una richiesta.
  • Esatto per definizione 1 B è esattamente 0,0009765625 KiB — una definizione, non un fattore arrotondato.
  • Risponde mentre scrivi Nessun pulsante, nessuna attesa. La risposta è già nella pagina prima che parta uno script.

Da byte a kibibyte in pratica

  • 5000000 B is 4883 KiB

    — una foto fatta con il telefono.

  • 1024 B is 1 KiB

    — un kibibyte, che è dove comincia la confusione.

  • 524300 B is 512 KiB

    — mezzo mebibyte.

  • 4096 B is 4 KiB

    — una pagina di memoria su quasi tutti i sistemi.

byte e kibibyte a colpo d’occhio

Ogni numero di questa tabella è calcolato dalla stessa definizione che usa la calcolatrice, quindi la tabella non può discostarsi dalla risposta qui sopra.
BKiB
100,009765625
200,01953125
500,048828125
1000,09765625
5000,48828125
10000,9765625
50004,8828125
100009,765625

byte e kibibyte

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 kibibyte è esattamente 1.024 byte. Il nome è stato introdotto nel 1998 perché «kilobyte» potesse tornare a significare 1.000, anche se l’abitudine non ha mai attecchito del tutto.

Ci vogliono 1024 byte per un kibibyte

In questa direzione il conto è una divisione, e per un numero intero: 1024 di queste stanno in un kibibyte 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.

KiB è l'unità binaria

Un KiB è 1.024 dell'unità sotto; un kB è 1.000. Su questa pagina è la differenza tra 1024 B e 1000 B — il 2,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 file, due numeri: ls -l contro ls -lh

Con ls -l ottenete un conteggio esatto di byte, lo stesso che il filesystem registra e che restituisce qualunque API riporti una dimensione. Con ls -lh sullo stesso file ottenete qualcosa come 24K. Nulla del file è cambiato tra i due comandi: il secondo ha diviso per 1.024, arrotondato e aggiunto una lettera che non dice quale base ha usato.

Il numero esatto è quello che deve corrispondere a un header, a un limite di quota o a un confine di hash; quello arrotondato è il numero che un collega vi ripete leggendolo dal terminale. Sapersi muovere fra i due senza indovinare la base è tutto il senso di questa conversione.

La K che vale 1.024, e il flag che la cambia

GNU coreutils usa K, M e G maiuscole per le potenze di 1.024 e la k minuscola per 1.000, una convenzione che quasi nessuno conosce e nessuno strumento annuncia. du -h riporta in binario. du --si riporta in decimale sulla stessa cartella e differisce del 2,4% al passaggio kilo.

La conseguenza pratica è che "quanto pesa questa cartella" ha due risposte corrette dallo stesso comando, e quale ottenete dipende da un flag digitato una settimana fa in uno script. Se un numero finisce in un ticket o in un piano di capacità, registrate il flag insieme al valore, oppure convertite in byte e lasciate che sia chi legge a scegliere la propria scala.

Perché il blocco è di 1.024 byte e non di 1.000

La memoria è indirizzata da linee che sono alte o basse, quindi le quantità che una macchina raggiunge naturalmente sono potenze di due. Dieci linee di indirizzo raggiungono 1.024 posizioni, abbastanza vicino a mille da prendere in prestito il prefisso kilo — un prestito mai restituito.

Non è solo una questione storica. I filesystem allocano in blocchi che sono potenze di due, le pagine di memoria sono di 4.096 byte sull’hardware ordinario, e i dischi sono passati da settori da 512 byte a settori da 4.096. Convertire byte in kibibyte è quindi la conversione che atterra su confini reali; convertire byte in kilobyte decimali dà un numero più ordinato su cui però nulla sotto è costruito.

Un byte sono otto bit, e questa conversione non riguarda i bit

Ogni cifra di questa pagina conta byte. Content-Length, dimensioni dei file, lunghezze dei buffer e uso del disco sono tutti conteggi di byte, e un byte è di otto bit dai tempi in cui la convenzione si è stabilizzata — le prime macchine ne usavano sei, sette o nove.

Le velocità di rete sono l’eccezione che morde: una connessione a 100 Mbit/s trasferisce al massimo 12,5 MB al secondo, e dividere le due cifre senza accorgersene dà una risposta sbagliata per un fattore otto. La sola lettera fa la differenza: Mb sono megabit, MB sono megabyte.

I byte che un file contiene e i byte che occupa

Un file di 900 byte è lungo 900 byte e occupa 4.096 byte del volume, perché lo spazio viene assegnato in blocchi interi. ls -l riporta il primo numero e du il secondo, motivo per cui una cartella di tanti file piccoli può occupare svariate volte quanto sommano i loro contenuti.

Se il numero che state convertendo viene da uno strumento di quota, è probabilmente spazio allocato; se viene da un header di lunghezza, è contenuto puro. du --apparent-size fa tornare du sul conteggio di byte, se serve confrontarli.

Arrotondare per eccesso, e usarlo per identificare lo strumento

coreutils arrotonda le sue dimensioni leggibili per eccesso, non al valore più vicino, quindi un file di 1.025 byte esce come 1,1K anche se 1,0 sarebbe più vicino: la regola è che il valore mostrato non dichiari mai meno di quanto c’è realmente. Altri strumenti arrotondano al più vicino, e i file manager troncano spesso, il che spiega tre programmi che danno tre dimensioni per lo stesso file.

Potete usarlo deliberatamente: create un file di esattamente 1.025 byte, elencatelo, e leggete la risposta — 1,1K indica arrotondamento in stile coreutils su base 1.024, 1,0K indica arrotondamento al più vicino, 1,0k o 1,1k la scala decimale. Bastano dieci secondi per chiudere una discussione che altrimenti dura un pomeriggio.

Quando il conteggio in byte è l’unica cifra da conservare

Alcuni numeri non sopravvivono a una conversione. Un Content-Length deve essere il conteggio esatto o la risposta è malformata. Un header Range indirizza offset in byte. Un upload multipart ha una dimensione minima di parte espressa in byte. Un’allocazione di memoria è un numero intero di byte, e arrotondarla a un’unità comoda è come si scrive un bug di un blocco fuori posto.

Convertite quindi per la persona e conservate l’intero per la macchina: memorizzate byte ovunque nel codice e nei log, e convertite solo al momento della visualizzazione, etichettando il risultato KiB piuttosto che KB.

Convertire B in KiB: domande frequenti

Quanto fa 1 B in KiB?

1 B fa 0,0009765625 KiB. Il valore è esatto e non arrotondato: l’equivalenza fra byte e kibibyte è fissata per definizione.

Quello che scrivo viene mandato da qualche parte?

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é il mio disco mostra meno spazio di quello dichiarato?

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.

Al contrario: da kibibyte a byte

Un KiB è 1024 B. È la stessa relazione letta al rovescio, quindi un risultato di una pagina fatto passare per l’altra deve tornare da dove è partito.

Da dove vengono questi numeri

Quello che questa pagina afferma su unità di informazione si può verificare, e questi sono i documenti che chiudono la questione.

Come funziona questa pagina

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.