Vai al contenuto

Calcolatore di Bit e Byte - Strumento Gratuito per la Dimensione dei Dati

Calcola lunghezze di bit e byte per interi, stringhe esadecimali e testo con codifiche UTF-8, UTF-16, ASCII. Strumento online gratuito per sviluppatori, data scientist e ingegneri di rete.

Calcolatore di Lunghezza Bit e Byte

Tipo di Input
bit
8
byte
1

8 bit = 1 byte

Visualizzazione

Byte 1
11111111
0xFF
Calcolatore di caricamento...
📚

Documentazione

Che cos'è un calcolatore della lunghezza in bit e byte?

Un calcolatore della lunghezza in bit e byte determina quanti bit e byte sono necessari per un dato. Un bit è una singola cifra binaria, 0 oppure 1. Un byte è un gruppo di 8 bit. Il calcolatore accetta un intero, una stringa esadecimale o una stringa di testo e restituisce la dimensione esatta in entrambe le unità.

Questo è importante per la programmazione, le reti e l'archiviazione dei dati. Una colonna di database, un pacchetto di rete e un file su disco hanno tutti una dimensione misurata in byte, che dipende dal modo in cui i dati sono scritti.

Come calcolare la lunghezza in bit di un intero

La lunghezza in bit di un intero positivo è il numero di cifre nella sua forma binaria. Per esempio, 255 in binario è 11111111, che contiene 8 cifre, quindi la sua lunghezza in bit è 8.

Formula: per un intero positivo n, la lunghezza in bit è il numero di cifre nella rappresentazione in base-2 di n. Il caso speciale n = 0 ha una lunghezza in bit pari a 1.

Gli interi negativi usano il complemento a due, il metodo standard con cui i computer memorizzano i numeri con segno. La lunghezza in bit di un intero negativo è il numero minimo di bit che può rappresentarlo in complemento a due. Per esempio, −128 rientra in 8 bit (come 10000000), mentre −129 richiede 9 bit, perché 8 bit possono arrivare solo fino a −128.

Una volta nota la lunghezza in bit, la lunghezza in byte si ottiene arrotondando per eccesso al byte intero più vicino:

Lunghezza in byte = ⌈lunghezza in bit ÷ 8⌉

Il simbolo ⌈ ⌉ significa «arrotondare per eccesso». Un valore di 9 bit richiede comunque 2 byte interi, perché un byte non può essere diviso.

Esempio svolto

InteroLunghezza in bitLunghezza in byte
011
25581
25692
−12881
−12992
18,446,744,073,709,551,615 (2⁶⁴ − 1)648

Come calcolare la lunghezza in bit di una stringa esadecimale

Ogni cifra esadecimale (0–9, A–F) rappresenta esattamente 4 bit, perché 4 bit possono contenere 16 valori possibili.

Formula: lunghezza in bit = numero di cifre esadecimali × 4. La lunghezza in byte è nuovamente la lunghezza in bit divisa per 8, arrotondata per eccesso.

Per esempio, la stringa esadecimale "FF" ha 2 cifre, quindi la sua lunghezza in bit è 2 × 4 = 8 bit, ovvero 1 byte. La stringa esadecimale "ABCD" ha 4 cifre, per un totale di 16 bit, ovvero 2 byte. Gli spazi e gli altri caratteri di spaziatura vengono rimossi prima del conteggio. Anche un numero dispari di cifre viene arrotondato per eccesso a un byte intero: "F" è composto da 4 bit, che il calcolatore riporta come 1 byte.

Come calcolare la lunghezza in byte di una stringa di testo

Per il testo, la dimensione dipende dalla codifica dei caratteri, cioè dalla regola usata per convertire i caratteri in byte. Il calcolatore supporta cinque codifiche:

  • UTF-8: una codifica a lunghezza variabile usata in tutto il web. Ogni carattere occupa da 1 a 4 byte. Le lettere, le cifre e i segni di punteggiatura dell'inglese semplice occupano 1 byte ciascuno.
  • UTF-16: usata internamente da JavaScript e Windows. La maggior parte dei caratteri occupa 2 byte; i caratteri al di fuori del Piano Multilingue di Base, come molte emoji, occupano 4 byte.
  • UTF-32: una codifica a lunghezza fissa. Ogni carattere occupa esattamente 4 byte, indipendentemente dal carattere.
  • ASCII: una codifica a 7 bit che comprende 128 caratteri, principalmente lettere, cifre e segni di punteggiatura di base dell'inglese. Ogni carattere occupa 1 byte. Qualsiasi carattere al di fuori di questo insieme viene rifiutato.
  • Latin-1 (ISO-8859-1): una codifica a 8 bit che comprende 256 caratteri, comprese le lettere accentate usate nelle lingue dell'Europa occidentale. Ogni carattere occupa 1 byte. I caratteri al di fuori di questo insieme vengono rifiutati.

Formula: lunghezza in byte = numero di byte prodotti dalla codifica per la stringa. Lunghezza in bit = lunghezza in byte × 8.

I conteggi riguardano solo il testo. Non viene aggiunto alcun indicatore dell'ordine dei byte (BOM), quindi un conteggio in UTF-16 o UTF-32 è di 2 o 4 byte inferiore a quello di uno strumento che scrive un indicatore all'inizio.

Esempio svolto

Il testo "Hello, world!" ha 13 caratteri, tutti costituiti da lettere e segni di punteggiatura ASCII semplici.

  • UTF-8: 13 byte (104 bit), poiché ogni carattere rientra in 1 byte.
  • UTF-16: 26 byte (208 bit), poiché ogni carattere occupa 2 byte.

Il testo "こんにちは世界" (sette caratteri giapponesi) occupa 3 byte per carattere in UTF-8, per un totale di 21 byte (168 bit).

Un'emoji come 😀 si trova al di fuori del Piano Multilingue di Base. Occupa 4 byte in UTF-8, 4 byte in UTF-16 (come coppia surrogata) e 4 byte in UTF-32.

Perché gli interi con segno cambiano il risultato

I computer memorizzano i numeri negativi usando il complemento a due anziché un semplice segno meno. Di conseguenza, la lunghezza in bit di un intero negativo non è semplicemente la lunghezza in bit del suo valore assoluto più uno. La regola è: la lunghezza in bit è il numero minimo di bit k tale che il valore sia almeno −2^(k−1). Per questo motivo −128 (che equivale a −2⁷) rientra in 8 bit, mentre −129 ne richiede 9.

Domande frequenti

Come si convertono i byte in bit? Moltiplicare per 8. Dieci byte equivalgono a 80 bit, perché ogni byte contiene per definizione 8 bit.

Qual è la differenza tra lunghezza in bit e lunghezza in byte? La lunghezza in bit conta le singole cifre binarie. La lunghezza in byte conta gruppi di 8 bit, arrotondando per eccesso al byte intero successivo quando la lunghezza in bit non è un multiplo di 8.

Quanti byte usa un carattere UTF-8? Da 1 a 4. I caratteri condivisi con ASCII usano 1 byte. Molti caratteri latini accentati, greci e cirillici usano 2 byte. La maggior parte dei caratteri cinesi, giapponesi e coreani usa 3 byte. Le emoji e altri simboli rari usano 4 byte.

Come si calcola la lunghezza in byte di una stringa esadecimale? Si contano le cifre esadecimali dopo aver rimosso gli spazi, si moltiplica per 4 per ottenere i bit e poi si arrotonda per eccesso al byte intero. Ogni byte corrisponde a 2 cifre esadecimali, quindi "FF" è 1 byte e "ABCD" è 2 byte. Una singola cifra come "F" è composta da 4 bit, ma occupa comunque 1 byte.

Perché un intero negativo a volte richiede più bit del suo corrispondente positivo? Il complemento a due usa un bit per indicare il segno, ma quel bit è condiviso con l'intervallo di valori anziché essere aggiunto a tale intervallo in ogni caso. −128 rientra negli stessi 8 bit dei valori positivi fino a 127, ma −129 non rientra più in 8 bit e ne richiede 9.

Quali dimensioni di input accetta questo calcolatore? Interi, stringhe esadecimali e stringhe di testo lunghe fino a 1.000.000 caratteri.

Riferimenti

  1. "Character encoding." Wikipedia, Wikimedia Foundation. https://en.wikipedia.org/wiki/Character_encoding
  2. "UTF-8, UTF-16, UTF-32 & BOM." Unicode, Inc. https://www.unicode.org/faq/utf_bom.html
  3. "Two's complement." Wikipedia, Wikimedia Foundation. https://en.wikipedia.org/wiki/Two%27s_complement