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.

Inteiros negativos usam o complemento de dois, a forma padrão como os computadores armazenam números com sinal. O comprimento em bits de um inteiro negativo é o menor número 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 um inteiro com sinal de 8 bits varia de −128 a 127.

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.

Exemplos resolvidos

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 string hexadecimal "FF" tem 2 dígitos, então seu comprimento em bits é 2 × 4 = 8 bits, ou 1 byte. A string hexadecimal "ABCD" tem 4 dígitos, o que dá 16 bits, ou 2 bytes. Os espaços dentro da string são ignorados antes da contagem.

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: codificação de comprimento variável usada em toda a web. Cada caractere ocupa de 1 a 4 bytes. Letras inglesas simples, dígitos e pontuação ocupam 1 byte cada.
  • UTF-16: usada internamente pelo JavaScript e pelo Windows. Cada caractere é formado por uma ou duas unidades de 16 bits. 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, armazenada com um caractere por byte de 8 bits, que abrange 128 caracteres, principalmente letras inglesas, dígitos e pontuação básica. 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.

Exemplos resolvidos

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, o que dá 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.

Perguntas 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 se calcula o comprimento em bytes de uma string hexadecimal? Conte os dígitos hexadecimais depois de remover os espaços, multiplique por 4 para obter os bits, depois divida por 8 e arredonde para cima. "FF" tem 1 byte; "ABCD" tem 2 bytes. Uma quantidade ímpar, como "ABC" (12 bits), ainda precisa de 2 bytes.

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. Unicode, Inc. FAQ: UTF-8, UTF-16, UTF-32 & BOM. FAQ de codificação Unicode — cada caractere ocupa de um a quatro bytes de 8 bits em UTF-8, uma ou duas unidades de código de 16 bits em UTF-16, ou uma única unidade de código de 32 bits em UTF-32.
  2. Internet Engineering Task Force. RFC 3629: UTF-8, a transformation format of ISO 10646. RFC 3629 — UTF-8 usa de 1 a 4 octetos; U+0000–U+007F ocupam 1 byte, U+0080–U+07FF ocupam 2 bytes, U+0800–U+FFFF ocupam 3 bytes e U+10000 e acima ocupam 4 bytes.
  3. Internet Engineering Task Force. RFC 20: ASCII format for network interchange. RFC 20 — ASCII padrão de 7 bits inserido em um byte de 8 bits.
  4. Oracle. The Java Language Specification, Java SE 21, Chapter 4: Types, Values, and Variables. Capítulo 4 da JLS — byte é um inteiro com sinal de 8 bits em complemento de dois, com intervalo de −128 a 127.