Calculadora de Comprimento de Bits e Bytes - Ferramenta Gratuita de Tamanho de Dados
Calcule comprimentos de bits e bytes para inteiros, strings hexadecimais e texto com codificações UTF-8, UTF-16, ASCII. Ferramenta online gratuita para desenvolvedores, cientistas de dados e engenheiros de redes.
Calculadora de Comprimento de Bits e Bytes
8 bits = 1 bytes
Visualização
Documentação
O que é uma calculadora de comprimento em bits e bytes?
Uma calculadora de comprimento em bits e bytes determina quantos bits e bytes um dado precisa. Um bit é um único dígito binário, 0 ou 1. Um byte é um grupo de 8 bits. A calculadora aceita um número inteiro, uma sequência hexadecimal ou uma sequência de texto e informa o tamanho exato nas duas unidades.
Isso é relevante para programação, redes e armazenamento de dados. Uma coluna de banco de dados, um pacote de rede e um arquivo em disco têm um tamanho medido em bytes, e esse tamanho depende de como os dados são gravados.
Como calcular o comprimento em bits de um número inteiro
O comprimento em bits de um número inteiro positivo é a quantidade de dígitos em sua forma binária. Por exemplo, 255 em binário é 11111111, que tem 8 dígitos; portanto, seu comprimento em bits é 8.
Fórmula: para um número inteiro positivo n, o comprimento em bits é a quantidade de dígitos na representação de n na base 2. O caso especial n = 0 tem comprimento de 1 bit.
Números inteiros negativos usam complemento de dois, a forma padrão como os computadores armazenam números com sinal. O comprimento em bits de um número inteiro negativo é a menor quantidade de bits capaz de representá-lo na forma de complemento de dois. Por exemplo, −128 cabe em 8 bits (como 10000000), mas −129 precisa de 9 bits, porque 8 bits só podem chegar até −128.
Depois que o comprimento em bits é conhecido, o comprimento em bytes é obtido arredondando para cima até o byte inteiro mais próximo:
Comprimento em bytes = ⌈comprimento em bits ÷ 8⌉
O símbolo ⌈ ⌉ significa “arredondar para cima”. Um valor de 9 bits ainda precisa de 2 bytes completos, porque um byte não pode ser dividido.
Exemplo prático
| Número inteiro | Comprimento em bits | Comprimento em bytes |
|---|---|---|
| 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 |
Como calcular o comprimento em bits de uma sequência hexadecimal
Cada dígito hexadecimal (0–9, A–F) representa exatamente 4 bits, porque 4 bits podem armazenar 16 valores possíveis.
Fórmula: comprimento em bits = quantidade de dígitos hexadecimais × 4. O comprimento em bytes é novamente o comprimento em bits dividido por 8, arredondado para cima.
Por exemplo, a sequência hexadecimal “FF” tem 2 dígitos; portanto, seu comprimento em bits é 2 × 4 = 8 bits, ou 1 byte. A sequência hexadecimal “ABCD” tem 4 dígitos, totalizando 16 bits, ou 2 bytes. Espaços e outros caracteres de espaço em branco são removidos antes da contagem. Uma quantidade ímpar de dígitos ainda é arredondada para cima até um byte inteiro: “F” tem 4 bits, que a calculadora informa como 1 byte.
Como calcular o comprimento em bytes de uma sequência de texto
Para textos, o tamanho depende da codificação de caracteres, a regra usada para transformar caracteres em bytes. A calculadora é compatível com cinco codificações:
- UTF-8: uma codificação de comprimento variável usada em toda a web. Cada caractere ocupa de 1 a 4 bytes. Letras, dígitos e sinais de pontuação comuns do inglês ocupam 1 byte cada.
- UTF-16: usada internamente pelo JavaScript e pelo Windows. A maioria dos caracteres ocupa 2 bytes; caracteres fora do Plano Multilíngue Básico, como muitos emojis, ocupam 4 bytes.
- UTF-32: uma codificação de comprimento fixo. Todo caractere ocupa exatamente 4 bytes, independentemente de qual seja.
- ASCII: uma codificação de 7 bits que abrange 128 caracteres, principalmente letras, dígitos e sinais de pontuação básicos do inglês. Cada caractere ocupa 1 byte. Qualquer caractere fora desse conjunto é rejeitado.
- Latin-1 (ISO-8859-1): uma codificação de 8 bits que abrange 256 caracteres, incluindo letras acentuadas usadas em idiomas da Europa Ocidental. Cada caractere ocupa 1 byte. Caracteres fora desse conjunto são rejeitados.
Fórmula: comprimento em bytes = quantidade de bytes que a codificação produz para a sequência. Comprimento em bits = comprimento em bytes × 8.
As contagens abrangem apenas o texto. Nenhuma marca de ordem de bytes é adicionada; portanto, uma contagem em UTF-16 ou UTF-32 aqui é 2 ou 4 bytes menor que a de uma ferramenta que grava uma marca no início.
Exemplo prático
O texto “Hello, world!” tem 13 caracteres, todos letras e sinais de pontuação ASCII comuns.
- UTF-8: 13 bytes (104 bits), pois cada caractere cabe em 1 byte.
- UTF-16: 26 bytes (208 bits), pois cada caractere ocupa 2 bytes.
O texto “こんにちは世界” (sete caracteres japoneses) ocupa 3 bytes por caractere em UTF-8, totalizando 21 bytes (168 bits).
Um emoji como 😀 está fora do Plano Multilíngue Básico. Ele ocupa 4 bytes em UTF-8, 4 bytes em UTF-16 (como um par substituto) e 4 bytes em UTF-32.
Por que números inteiros com sinal mudam o resultado
Os computadores armazenam números negativos usando complemento de dois, em vez de um simples sinal de menos. Isso significa que o comprimento em bits de um número inteiro negativo não é simplesmente o comprimento em bits de seu módulo mais um. A regra é: o comprimento em bits é a menor quantidade de bits k tal que o valor seja pelo menos −2^(k−1). Por isso, −128 (que é igual a −2⁷) cabe em 8 bits, enquanto −129 precisa de 9.
Dúvidas frequentes
Como converto bytes em bits? Multiplique por 8. Dez bytes equivalem a 80 bits, porque cada byte contém 8 bits por definição.
Qual é a diferença entre comprimento em bits e comprimento em bytes? O comprimento em bits conta os dígitos binários individuais. O comprimento em bytes conta grupos de 8 bits, arredondando para cima até o próximo byte inteiro quando o comprimento em bits não é múltiplo de 8.
Quantos bytes um caractere UTF-8 usa? Entre 1 e 4. Caracteres compartilhados com ASCII usam 1 byte. Muitos caracteres latinos acentuados, gregos e cirílicos usam 2 bytes. A maioria dos caracteres chineses, japoneses e coreanos usa 3 bytes. Emojis e outros símbolos raros usam 4 bytes.
Como o comprimento em bytes de uma sequência hexadecimal é calculado? Conte os dígitos hexadecimais depois de remover os espaços em branco, multiplique por 4 para obter os bits e, em seguida, arredonde para cima até bytes inteiros. Cada byte corresponde a 2 dígitos hexadecimais; portanto, “FF” é 1 byte e “ABCD” são 2 bytes. Um único dígito, como “F”, tem 4 bits, mas ainda ocupa 1 byte.
Por que um número inteiro negativo às vezes precisa de mais bits que seu equivalente positivo? O complemento de dois usa um bit para indicar o sinal, mas esse bit é compartilhado com o intervalo de valores, em vez de ser acrescentado em todos os casos. −128 cabe nos mesmos 8 bits que os valores positivos até 127, mas −129 já não cabe em 8 bits e precisa de 9.
Quais tamanhos de entrada esta calculadora aceita? Números inteiros, sequências hexadecimais e sequências de texto com até 1.000.000 caracteres.
Referências
- "Character encoding." Wikipedia, Wikimedia Foundation. https://en.wikipedia.org/wiki/Character_encoding
- "UTF-8, UTF-16, UTF-32 & BOM." Unicode, Inc. https://www.unicode.org/faq/utf_bom.html
- "Two's complement." Wikipedia, Wikimedia Foundation. https://en.wikipedia.org/wiki/Two%27s_complement