A aritmética binária: representar números com 0 e 1
Por que contamos de dez em dez? Provavelmente porque temos dez dedos. Não há nada de especial no número 10: dá para escrever qualquer número com qualquer base. Leibniz levou essa ideia ao extremo e perguntou: qual é o menor número de algarismos com que se consegue escrever tudo?
A resposta é dois: 0 e 1.
Cada posição vale o dobro
No sistema decimal, as posições valem 1, 10, 100, 1000… e cada algarismo diz quantas vezes usamos aquele valor. No sistema binário, as posições valem 1, 2, 4, 8, 16, 32… e cada algarismo só pode dizer sim (1) ou não (0).
$$10110_2=1\cdot16+0\cdot8+1\cdot4+1\cdot2+0\cdot1=22.$$O índice $_2$ lembra que o número está escrito na base 2. Com oito posições, ou oito bits, os valores vão de 1 a 128, e o maior número que dá para escrever é
$$11111111_2=128+64+32+16+8+4+2+1=255.$$Contando o zero, são $2^8=256$ números diferentes. É por isso que tantas coisas na computação vão de 0 a 255.
Converter e somar
Para escrever 13 em binário, dividimos por 2 várias vezes e anotamos os restos:
| Divisão | Quociente | Resto |
|---|---|---|
| 13 ÷ 2 | 6 | 1 |
| 6 ÷ 2 | 3 | 0 |
| 3 ÷ 2 | 1 | 1 |
| 1 ÷ 2 | 0 | 1 |
Lendo os restos de baixo para cima: $13=1101_2$. Confira: $8+4+0+1=13$.
A soma é ainda mais simples que a decimal, porque só existem quatro casos: $0+0=0$, $0+1=1$, $1+0=1$ e $1+1=10_2$, que é “zero e vai um”. Por exemplo,
$$101_2+11_2=1000_2,\qquad\text{isto é,}\qquad5+3=8.$$A tabuada inteira cabe numa linha: $0\times0=0$, $0\times1=0$, $1\times1=1$. Leibniz se encantou com isso: multiplicar vira apenas copiar e deslocar.
A multiplicação dos egípcios
A ideia de dobrar é muito mais antiga que Leibniz. No papiro de Rhind, copiado pelo escriba Ahmes por volta de 1550 a.C., os egípcios multiplicavam só dobrando e somando. Para calcular $21\times37$, faz-se uma tabela que começa com $1$ e $37$ e dobra as duas colunas a cada linha:
| Dobros de 1 | Dobros de 37 |
|---|---|
| 1 | 37 |
| 2 | 74 |
| 4 | 148 |
| 8 | 296 |
| 16 | 592 |
Escolhem-se, na coluna da esquerda, as linhas que somam 21: $16+4+1=21$. Somando as linhas correspondentes da direita, $592+148+37=777$. Logo, $21\times37=777$.
Por que funciona? Escolher as linhas é escrever 21 em binário: $21=10101_2=16+4+1$. Então
$$21\times37=(16+4+1)\times37=592+148+37.$$Todo inteiro positivo se escreve de um único jeito como soma de potências de 2 diferentes, e por isso o método nunca falha. Os egípcios faziam contas em binário três mil anos antes de Leibniz, sem saber. Uma variante, que divide um dos fatores ao meio e dobra o outro, ficou conhecida na Europa como multiplicação dos camponeses russos, e é parecida com o que os processadores fazem até hoje.
Do nada e do um
Leibniz estudou o sistema binário em manuscritos de 1679, mas demorou a publicar. Para ele, o binário tinha também um sentido religioso: todos os números nascem do 1 e do 0, assim como, na sua visão, o mundo foi criado por Deus a partir do nada.
O livro chinês
Leibniz se correspondia com Joachim Bouvet, um missionário jesuíta que vivia na China. Em 1701, Bouvet lhe enviou os 64 hexagramas do I Ching, um livro chinês de adivinhação com cerca de três mil anos. Cada hexagrama tem seis linhas, que podem ser inteiras ou partidas.
Leibniz viu na hora: trocando a linha partida por 0 e a inteira por 1, e seguindo a ordem tradicional atribuída ao sábio Fu Xi, os hexagramas eram os números de 0 a 63 escritos em binário. Ficou fascinado e incluiu a descoberta no artigo que finalmente publicou em 1703, na revista da Academia de Paris: Explicação da aritmética binária.
Do papel ao computador
Por mais de dois séculos, o binário foi uma curiosidade. Isso mudou em 1937, quando o engenheiro americano Claude Shannon mostrou que circuitos elétricos com interruptores, ligado ou desligado, podiam fazer contas em binário. Hoje todo computador, celular e calculadora guarda números e textos como longas sequências de 0 e 1.
Leibniz não inventou o computador, nem foi o único a pensar em contar com dois símbolos. Mas foi quem organizou a aritmética binária, mostrou como fazer contas com ela e defendeu que ela revelava algo profundo sobre os números.
Exercício: escreva 19 em binário
$19=16+2+1$, então $19=10011_2$. Com oito bits: $00010011_2$.
Exercício: quanto vale 111111₂? E qual a relação com 2⁶?
$32+16+8+4+2+1=63=2^6-1$. Em geral, $n$ algarismos 1 seguidos valem $2^n-1$, assim como $999=10^3-1$ no sistema decimal.
Fontes: Leibniz e a aritmética binária, Mathematical Association of America · biografia no MacTutor.
Todos os tópicos de Leibniz · ← O símbolo ∫: da soma à acumulação · A máquina de Leibniz: transformar contas em movimentos →