Você provavelmente já viu essas palavras antes. Bits e bytes estão por toda parte. Você os vê quando verifica sua RAM. Você os vê quando observa os tamanhos dos arquivos. Os anúncios também os utilizam. Eles dirão que um computador possui um processador de 32 bits. Dirão que tem 64 megabytes de memória. Eles podem mencionar 2,1 gigabytes de armazenamento.

Compreender esses termos não é apenas para geeks de tecnologia. Ajuda você a entender o que seu computador realmente faz. Este guia explica os fundamentos dos números binários. Mostra por que usamos bits e como eles formam bytes.

Números decimais e valor posicional

Para entender os bits, comece com números que você já conhece. Dígitos são os blocos de construção da matemática decimal. Um único dígito contém um valor de 0 a 9. Agrupamos esses dígitos para formar números maiores.

Tomemos 6.357 como exemplo. Possui quatro dígitos. O 7 está na casa das unidades. O 5 está na casa das dezenas. O 3 está na casa das centenas. O 6 está na casa dos milhares. Você pode escrever isso matematicamente.

(61000) + (3 100) + (510) + (7 1) = 6357

Você também pode usar potências de 10. O símbolo ^ significa “elevado à potência de”. Então 10 ao quadrado é 10^2. A fórmula se torna:

(6 * 10 ^ 3) + (3 * 10 ^ 2) + (5 * 10 ^ 1) + (7 * 10 ^ 0) = 6357

Cada dígito é um espaço reservado. Representa a próxima potência superior de 10. Começamos com 10 elevado à potência de zero.

Isso parece normal. Usamos sistemas de base 10 todos os dias. Isso provavelmente aconteceu porque os humanos têm dez dedos. Se tivéssemos oito dedos, poderíamos usar a base 8. Você pode construir sistemas numéricos com qualquer base. Acontece que os computadores usam um diferente. Eles usam o sistema numérico binário. Isso também é chamado de base-2.

O sistema Base-2 e o byte de 8 bits

Os computadores usam base-2. É mais fácil construir com a tecnologia atual. Um computador de base 10 seria extremamente caro. Um computador base 2 é relativamente barato. É por isso que o binário governa o mundo digital.

Binário usa dígitos binários. Eles são chamados de bits. A palavra vem de “Binary digIT”. Ao contrário dos dígitos decimais, os bits possuem apenas dois valores. Eles podem ser 0 ou 1. Um número binário se parece com 1011.

Como você lê isso? Você usa a mesma lógica da matemática decimal. Basta substituir a base 10 pela base 2.

(1 * 2 ^ 3) + (0 * 2 ^ 2) + (1 * 2 ^ 1) + (1 * 2 ^ 0) = 8 + 0 + 2 + 1 = 11

O número binário 1011 é igual a 11 em decimal. Cada bit contém um valor que aumenta em potências de 2. Contar em binário é simples. Esta é a aparência dos primeiros números.

0 = 0
1 = 1
2 = 10
3 = 11
4 = 100
5 = 101
6 = 110
7 = 111
8 = 1000
9 = 1001
10 = 1010
11 = 1011
12 = 1100
13 = 1101
14 = 1110
15 = 1111
16 = 10.000
17 = 10001
18 = 10010
19 = 10011
20 = 10100

Observe a transferência. Em 2, o sistema binário é transferido pela primeira vez. Se um bit for 1 e você adicionar 1, ele se tornará 0. O próximo bit se tornará 1. O salto de 15 para 16 mostra isso claramente. Os quatro bits passam de 1111 para 10000.

Os bits raramente funcionam sozinhos. Os computadores os agrupam em grupos. Esses grupos são chamados de bytes. Um byte padrão possui 8 bits.

Por que 8 bits? É como perguntar por que há 12 ovos em uma dúzia. Não havia nenhuma razão matemática estrita. As pessoas optaram por 8 bits ao longo de muitos anos. Funcionou bem o suficiente.

Com 8 bits, você pode representar 256 valores diferentes. Eles variam de 0 a 255.

0 = 00000000
1 = 00000001
2 = 00000010

254 = 11111110
255 = 11111111

Este sistema aumenta rapidamente. Os CDs usam 2 bytes por amostra. Isso é 16 bits. O intervalo vai de 0 a 65.535.

0 = 000000000000000
1 = 0000000000000001
2 = 0000000000000010

65534 = 1111111111111110
65535 = 1111111111111111

Bytes são usados de muitas maneiras específicas. Veremos uma dessas aplicações a seguir.

Como o ASCII realmente armazena seu texto

Seu computador não armazena cartas. Ele armazena números.

Quando você digita um documento, o aplicativo traduz essas teclas digitadas em um código específico. O padrão para esta tradução é o conjunto de caracteres ASCII. Neste sistema, cada valor binário de 0 a 127 é mapeado para um único caractere. Embora os sistemas modernos muitas vezes estendam isso para 256 caracteres para lidar com letras acentuadas e símbolos especiais, os 128 principais continuam sendo a base.

Considere um arquivo de texto simples criado no Bloco de Notas do Windows. Se você digitar “Quatro pontos e sete anos atrás”, o software alocará exatamente um byte de memória para cada caractere. Isso inclui os espaços entre as palavras.

Experimente você mesmo. Crie um arquivo chamado getty.txt contendo essa frase. Salve-o. Verifique o tamanho do arquivo. Você verá que são exatamente 30 bytes. Adicione uma palavra. O tamanho salta. É tão linear. Cada caractere consome um byte.

Se você abrir este arquivo em um editor hexadecimal, não verá “Quatro pontos”. Você verá um fluxo de números decimais:

70 111 117 114 32 97 110 100 32 115 101 118 101 110

Procure esses valores em uma tabela ASCII. Você encontrará uma correspondência direta e individual. O número 32 representa um espaço. O número 70 representa um “F”. Se você quiser ser tecnicamente preciso, esses decimais serão convertidos em binários. 32 torna-se 00100000. É isso que o hardware realmente processa.

Os primeiros 32 códigos (0–31) são caracteres de controle não imprimíveis. Eles gerenciam coisas como retornos de carro e feeds de linha. O caractere de espaço segue em 32. Depois vêm a pontuação, dígitos, letras maiúsculas e letras minúsculas.

Noções básicas sobre prefixos de bytes e matemática binária

Quando estiver lidando com mais do que alguns bytes, você precisará de escala. Usamos prefixos como quilo, mega e giga.

Estes não são prefixos métricos. Eles são potências de dois.

  • Quilo (K): 2^10 = 1.024 bytes
  • Mega (M): 2^20 = 1.048.576 bytes
  • Giga (G): 2^30 = 1.073.741.824 bytes
  • Tera (T): 2^40 = 1.099.511.627.776 bytes

Ordens superiores como Peta, Exa, Zetta e Yotta continuam esse padrão. Um banco de dados de terabytes é comum em ambientes empresariais. Provavelmente existe um banco de dados de petabytes na infraestrutura governamental.

Quando alguém diz que um disco rígido tem 2 gigabytes, significa exatamente 2.147.483.648 bytes. Aproximadamente. Mas perto o suficiente para marketing. Para preencher 2 GB, você só precisa de três CDs padrão de 650 MB.

A matemática binária reflete a matemática decimal. As regras são idênticas. Você adiciona da direita para a esquerda. Você transfere quando excede o limite. A única diferença é o limite. Em decimal, o limite é 9. Em binário, o limite é 1.

Considere um problema de adição decimal: 452 + 751.
Comece certo. 2 + 1 = 3.
Próxima coluna. 5 + 5 = 10. Escreva 0, carregue 1.
Próximo. 4 + 7 + 1 (transporte) = 12. Escreva 2, transporte 1.
Final. 0 + 0 + 1 (transportar) = 1.
Resultado: 1203.

A adição binária segue a mesma lógica.
010
+111


1001

Coluna mais à direita: 0 + 1 = 1.
Segunda coluna: 1 + 1 = 10. Escreva 0, carregue 1.
Terceira coluna: 0 + 1 + 1 (transporte) = 10. Escreva 0, transporte 1.
Coluna final: 0 + 0 + 1 (transporte) = 1.
Resultado: 1001.

Traduza de volta para decimal. 2 + 7 = 9. A matemática é válida.

Bits são dígitos binários. Eles contêm 0 ou 1. Bytes são grupos de oito bits. A matemática binária é apenas matemática decimal com uma restrição mais rígida.

É tão simples. Ou pelo menos é assim que os livros didáticos vendem. A realidade de como esses dados se movem através do silício, como eles se degradam e como os interpretamos é mais confusa. Mas a base permanece binária. Zero ou um. Nada mais.