Do zero ao 255
Todo número que aparece no jogo cabe em 8 bits. Estas matérias explicam de onde vem essa ideia, por que o computador conta assim e como fazer a conversão de cabeça. Leia na ordem ou pule direto para a que você precisa.
Contando de 10 em 10
Antes do binário, vale olhar para o sistema que você já usa: o decimal, ou base 10. Ele tem dez algarismos, de 0 a 9. Quando passamos do 9, não existe um algarismo novo. Voltamos ao 0 e somamos 1 na posição da esquerda. É assim que o 9 vira 10.
O mesmo algarismo vale mais ou menos dependendo de onde está. No número 345, o 3 não vale três, vale trezentos:
3 × 100
4 × 10
5 × 1
300 + 40 + 5 = 345. Cada posição vale 10 vezes a posição à sua direita: 1, 10, 100, 1000. Guarde essa ideia, porque o binário funciona exatamente igual. Só muda o número 10 para o número 2.
Ligado ou desligado
Um computador é feito de bilhões de transistores, chaves minúsculas que deixam ou não a corrente elétrica passar. Uma chave dessas só tem dois estados confiáveis: passa corrente ou não passa. Por isso o computador usa um sistema com apenas dois algarismos:
- 1 significa ligado, com tensão, verdadeiro.
- 0 significa desligado, sem tensão, falso.
Seria possível construir circuitos com dez níveis de tensão, um para cada algarismo decimal, mas eles errariam muito: uma pequena variação de energia faria um 6 virar 7. Com só dois estados, a diferença entre eles é grande e fácil de detectar. É mais simples, mais barato e muito mais confiável.
Cada algarismo binário se chama bit, abreviação do inglês binary digit, dígito binário.
Uma breve história
A ideia de representar tudo com dois símbolos é bem mais antiga que o computador.
- Pingala, ÍndiaO estudioso descreve a métrica da poesia em sânscrito combinando sílabas curtas e longas, um sistema de dois símbolos com a mesma lógica do binário.
- I ChingO livro clássico usa hexagramas formados por 6 linhas, cada uma inteira ou partida. São 26 = 64 combinações possíveis.
- Gottfried LeibnizO matemático alemão apresenta a aritmética binária moderna, só com 0 e 1, e mostra como somar e multiplicar nela.
- George BooleO matemático inglês cria a álgebra booleana, em que os valores são apenas verdadeiro ou falso. Ela é a base da lógica dos circuitos.
- Claude ShannonEm sua dissertação de mestrado no MIT, mostra que circuitos com relés elétricos podem executar a álgebra de Boole. Nasce a ponte entre a lógica e a eletrônica.
- Konrad ZuseO engenheiro alemão termina o Z3, um dos primeiros computadores programáveis em funcionamento. Ele já calculava em binário.
- John von NeumannO relatório sobre o computador EDVAC recomenda o binário. A arquitetura descrita ali inspira os computadores até hoje.
- A palavra bitShannon publica a teoria matemática da comunicação e usa o termo bit, sugerido pelo estatístico John Tukey.
- O byteWerner Buchholz, na IBM, cria a palavra byte. Com o IBM System/360, em 1964, o byte de 8 bits vira padrão.
Bit, nibble e byte
Um bit sozinho guarda muito pouco: apenas sim ou não. Por isso os bits trabalham em grupos.
1 posição. Guarda 2 valores: 0 ou 1.
4 bits, meio byte. Guarda 16 valores: de 0 a 15.
8 bits. Guarda 256 valores: de 0 a 255.
Cada bit a mais dobra a quantidade de combinações. Com 1 bit são 2, com 2 bits são 4, com 3 bits são 8 e assim por diante. Com 8 bits são 2 × 2 × 2 × 2 × 2 × 2 × 2 × 2 = 256 combinações. Como a contagem começa no 0, o maior número de um byte é 255. É exatamente o tamanho das linhas do jogo.
No jogo, os 8 bits aparecem separados em dois grupos de 4. Cada grupo é um nibble. Essa divisão deixa o número mais fácil de ler, assim como o ponto em 1.000.000.
O valor de cada posição
No decimal, cada posição vale 10 vezes a da direita. No binário, cada posição vale 2 vezes a da direita. Começando pela direita, com 1, é só ir dobrando:
Esses são os números da régua que aparece em cima do tabuleiro. A linha de baixo, com o 2 elevado, é a potência de 2: o expoente diz quantas vezes multiplicamos o 2. Por exemplo, 23 = 2 × 2 × 2 = 8. E todo número elevado a zero vale 1, por isso a primeira posição é 20 = 1.
Para jogar, você não precisa pensar em potências. Basta decorar a sequência 128, 64, 32, 16, 8, 4, 2, 1. Se esquecer, comece do 1 e vá dobrando. No jogo, o botão Potências mostra ou esconde os expoentes na régua.
Binário para decimal
Esta é a conversão das linhas com o campo laranja no jogo: os bits já estão marcados e você digita o número. A regra é uma só: some os valores das posições que têm 1. As posições com 0 não contam.
Exemplo: 0100 1100
| Posição | 128 | 64 | 32 | 16 | 8 | 4 | 2 | 1 |
|---|---|---|---|---|---|---|---|---|
| Bit | 0 | 1 | 0 | 0 | 1 | 1 | 0 | 0 |
| Vale | – | 64 | – | – | 8 | 4 | – | – |
64 + 8 + 4 = 76. Pronto, 01001100 em binário é 76 em decimal.
Decimal para binário
Esta é a conversão das linhas com o número em azul: você recebe o decimal e precisa ligar os bits certos. Existem dois jeitos de fazer.
Jeito 1: subtrair da esquerda para a direita
É o jeito mais rápido no jogo. Percorra a régua começando pelo 128 e pergunte, em cada posição: esse valor cabe no que sobrou? Se cabe, ligue o bit e subtraia. Se não cabe, deixe 0 e passe para a próxima.
| Posição | Cabe em | Bit | Sobra |
|---|---|---|---|
| 128 | 41? | 0 | 41 |
| 64 | 41? | 0 | 41 |
| 32 | 41? | 1 | 41 − 32 = 9 |
| 16 | 9? | 0 | 9 |
| 8 | 9? | 1 | 9 − 8 = 1 |
| 4 | 1? | 0 | 1 |
| 2 | 1? | 0 | 1 |
| 1 | 1? | 1 | 1 − 1 = 0 |
Lendo a coluna dos bits de cima para baixo: 41 = 0010 1001. Conferindo: 32 + 8 + 1 = 41.
Jeito 2: dividir por 2
Esse é o método que costuma aparecer nas aulas de matemática. Divida o número por 2 e anote o resto. Repita com o resultado até chegar a 0. Depois leia os restos de baixo para cima.
| Divisão | Resultado | Resto |
|---|---|---|
| 41 ÷ 2 | 20 | 1 |
| 20 ÷ 2 | 10 | 0 |
| 10 ÷ 2 | 5 | 0 |
| 5 ÷ 2 | 2 | 1 |
| 2 ÷ 2 | 1 | 0 |
| 1 ÷ 2 | 0 | 1 |
De baixo para cima: 101001. Completando com zeros à esquerda até ter 8 bits: 0010 1001. O mesmo resultado do jeito 1.
Truques para jogar rápido
- Ímpar ou par? Todo número ímpar tem o último bit, o do 1, ligado. Todo número par tem esse bit desligado. É a primeira coisa a conferir.
- Maior que 127? Então o bit do 128 está ligado. Nenhuma soma das outras posições passa de 127.
- Potências de 2 têm um bit só. 1, 2, 4, 8, 16, 32, 64 e 128 acendem uma única posição.
- Um a menos que uma potência é tudo 1. 15 é 0000 1111, 31 é 0001 1111, 63 é 0011 1111, 255 é 1111 1111.
- Leia por nibbles. Decore os 16 valores de um nibble na tabela abaixo. Para o nibble da esquerda, multiplique por 16: em 0011 0101, a esquerda é 3 × 16 = 48 e a direita é 5. Total: 53.
O jogo começa com números até 15, que usam só o nibble da direita. A cada nível a faixa aumenta, até chegar aos 8 bits completos no nível 5.
Onde o binário aparece
Saber converter um byte não é só um exercício. Ele aparece em várias áreas da tecnologia.
Endereços IP
Um endereço IPv4, como 192.168.0.1, é formado por 4 bytes, chamados de octetos. Por isso cada parte vai de 0 a 255. Para o computador, esse endereço é:
A máscara de rede 255.255.255.0 é 11111111.11111111.11111111.00000000: 24 bits ligados. É daí que vem a notação /24. Quem trabalha com redes faz essa conversão o tempo todo.
Cores na tela
Cada pixel mistura vermelho, verde e azul, e cada cor usa 1 byte, de 0 a 255. O laranja deste site é 247, 148, 29. Em binário, o vermelho é 1111 0111. No código de cores, os mesmos números aparecem em hexadecimal: #F7941D.
Letras e símbolos
Cada letra que você digita vira um número. Na tabela ASCII, a letra A é 65 = 0100 0001 e a letra a é 97 = 0110 0001. Repare que a diferença entre maiúscula e minúscula é um único bit, o do 32.
Hora de praticar
Use o que você aprendeu contra o relógio.