Pular para o conteúdo

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

Tipo de Entrada
bits
8
bytes
1

8 bits = 1 bytes

Visualização

Byte 1
11111111
0xFF
Calculadora de carregamento...
📚

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 inteiroComprimento em bitsComprimento em bytes
011
25581
25692
−12881
−12992
18,446,744,073,709,551,615 (2⁶⁴ − 1)648

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

  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