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
8 bit = 1 byte
Visualizzazione
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 modo standard in cui i computer memorizzano i numeri con segno. La lunghezza in bit di un intero negativo è il numero minimo di bit in grado di contenerlo in complemento a due. Per esempio, −128 sta in 8 bit (come 10000000), ma −129 richiede 9 bit, perché un intero con segno a 8 bit va da −128 a 127.
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.
Esempi svolti
| Intero | Lunghezza in bit | Lunghezza in byte |
|---|---|---|
| 0 | 1 | 1 |
| 255 | 8 | 1 |
| 256 | 9 | 2 |
| −128 | 8 | 1 |
| −129 | 9 | 2 |
| 18,446,744,073,709,551,615 (2⁶⁴ − 1) | 64 | 8 |
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 all'interno della stringa vengono ignorati prima del conteggio.
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 semplici lettere inglesi, le cifre e la punteggiatura occupano 1 byte ciascuna.
- UTF-16: usata internamente da JavaScript e Windows. Ogni carattere è composto da una o due unità da 16 bit. 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, memorizzata un carattere per ogni byte da 8 bit, che copre 128 caratteri, soprattutto lettere inglesi, cifre e punteggiatura di base. 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.
Esempi svolti
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 eliminato gli spazi, si moltiplica per 4 per ottenere i bit, poi si divide per 8 e si arrotonda per eccesso. "FF" è 1 byte; "ABCD" è 2 byte. Un numero dispari di cifre, come "ABC" (12 bit), richiede comunque 2 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
- Unicode, Inc. FAQ: UTF-8, UTF-16, UTF-32 & BOM. FAQ sulla codifica Unicode — ogni carattere è composto da uno a quattro byte da 8 bit in UTF-8, da una o due unità di codice da 16 bit in UTF-16, oppure da una sola unità di codice da 32 bit in UTF-32.
- Internet Engineering Task Force. RFC 3629: UTF-8, a transformation format of ISO 10646. RFC 3629 — UTF-8 usa da 1 a 4 ottetti; U+0000–U+007F occupano 1 byte, U+0080–U+07FF 2 byte, U+0800–U+FFFF 3 byte e U+10000 e oltre 4 byte.
- Internet Engineering Task Force. RFC 20: ASCII format for network interchange. RFC 20 — ASCII standard a 7 bit incorporato in un byte da 8 bit.
- Oracle. The Java Language Specification, Java SE 21, Chapter 4: Types, Values, and Variables. Capitolo 4 della JLS — byte è un intero con segno in complemento a due da 8 bit, con intervallo da −128 a 127.