Contando do Jeito Humano: Decimal
Suponho que antes mesmo de eu apresentar o sistema decimal, você já o conheça. Acredito que só de chegar até aqui, você já está começando a entender a importância dele. De fato, o sistema unário realmente resolve um problema, mas não é a única forma de resolver. Não só não é a única, como é uma das piores. Quanto maior o número que você quer representar, pior fica o uso da solução.
Por que eu estou aprendendo isso?
É importante você começar a ter esse entendimento, porque esse conceito de uma solução existir e não necessariamente significar que ela é a única solução, ou sequer uma boa solução, te acompanhará pelo resto da sua jornada na computação, e será importante você pensar nisso enquanto programa, para escrever código melhor.
Você escrever um programa que faz o que você quer, não necessariamente significa que é um bom programa. Aprenderemos mais sobre isso no próximo capítulo - Capítulo 2 - Algoritmos e Lógica.
No final da última seção, chegamos numa intuição: e se usássemos símbolos diferentes para quantidades diferentes? O sistema decimal é exatamente isso. Em vez de um único símbolo repetido, ele usa dez símbolos diferentes - os dígitos que você já conhece: 0, 1, 2, 3, 4, 5, 6, 7, 8 e 9. Cada um representa uma quantidade diferente, do nada (ausência de valor, o 0) até nove.
Mas aí surge uma pergunta óbvia: e o dez? Chegamos no fim dos símbolos disponíveis e os números não acabaram. Como representar mais do que nove "alguma coisa"?
A Genialidade Do Sistema Decimal
O sistema decimal tem uma sacada que o torna realmente poderoso: não é só que existem vários símbolos, é que a posição de cada símbolo ainda muda o seu valor. O 9 em "92" não significa nove, significa noventa. O mesmo símbolo sozinho representa apenas nove unidades, à esquerda, em "92", significa noventa unidades.
Aprofundamento
O 9 em "9" significa nove unidades de algo. Quando todos os símbolos se esgotam, recomeçamos do início - mas com uma diferença: colocamos o símbolo 1 à esquerda para indicar que já temos um grupo completo de dez unidades, mais conhecido como dezena. À direita dele, colocamos quantas unidades avulsas existem além dessa dezena.
Na prática: após chegar no 9, o próximo número é 10 - um grupo de dez, mais zero unidades avulsas.
- Continuando:
11é um grupo de dez mais uma unidade, 12é um grupo de dez mais duas unidades,- e assim por diante até
19. - Quando as unidades se esgotam novamente, ganhamos mais uma dezena:
20(dois grupos de dez, mais zero unidades).
Essa lógica se repete indefinidamente: ..., 98, 99, e então 100, que significa um grupo de cem, zero dezenas e zero unidades avulsas. Depois 101, 102, 103...
Sem isso, para escrever algo como "vinte e cinco unidades" da forma mais eficiente, pode ser que tivéssemos que escrever algo como "997" (ir somando os dígitos mais altos até chegar no valor que queremos: 9 + 9 + 7 = 25). Ainda assim funcionaria e continuaria sendo muito mais escalável que o sistema unário, mas com a sacada das posições diferentes representarem valores diferentes, o sistema fica altamente eficiente. Agora, o general que queria escrever 900 soldados não precisa mais usar novecentos riscos, pode usar apenas três simbolos: 9, 0 e 0.
Por Que Dez Símbolos?
Agora que você entendeu como o sistema funciona, vale a pena perguntar: por que dez símbolos? Por que não cinco, ou doze, ou vinte?
Se ter diferentes símbolos para quantidades diferentes é inteligente, por que não ter mais símbolos para números maiores? Por que só os dígitos de 0 a 9 e não um símbolo também para o número 10, por exemplo? Ou para o número 17, 500, 1000? Assim poderíamos representar 1000 unidades com um único símbolo, não com 4.
Dez não é um número mágico. Olhe para suas mãos.
Dez dedos. Não é coincidência. Por milhares de anos, antes do papel, antes da caneta, antes de qualquer ferramenta, os dedos eram a calculadora mais acessível que existia. Você não precisava carregar nada, eles estavam sempre lá. Quando alguém precisava contar alguma coisa e mostrar o resultado para outra pessoa, levantava os dedos. É natural, intuitivo e universal.
Vários povos construíram seus sistemas de contagem naturalmente em torno dos dedos sem nem perceber que estavam fazendo uma escolha. Para eles, dez era simplesmente o número de dedos que tinham. Não havia nada a questionar.
Mas foi apenas isso: uma escolha. Outras civilizações chegaram em números diferentes pelo mesmo motivo: cada uma contava com o que achava mais natural. Os maias usavam vinte símbolos, porque incluíam os dedos dos pés na contagem. Por conveniência matemática, os babilônios escolheram usar sessenta, um número que ainda sobrevive até hoje: é por isso que uma hora tem 60 minutos e um minuto tem 60 segundos.
Curiosidade
Os babilônios escolheram sessenta por pura conveniência matemática: 60 é divisível por 1, 2, 3, 4, 5, 6, 10, 12, 15, 20 e 30. Nenhum número pequeno tem tantos divisores assim. Para uma civilização que precisava dividir terras, calcular impostos, repartir mercadorias e medir o tempo, ter um número base altamente divisível era extremamente prático. Você raramente ficava com frações incômodas nas contas do dia a dia.
Então a lógica babilônica não era "contamos com os dedos", era "escolhemos o número mais conveniente para calcular". É uma motivação completamente diferente da dos Maias e provavelmente da origem do decimal.
Observação importante
Aqui, tentei explicar a origem do sistema decimal com base na hipótese mais amplamente aceita hoje, mas essa origem histórica é apenas uma hipótese que temos hoje em dia, não um fato 100% comprovado.
A explicação simples é que contar nos dedos é sistema unário, você ainda precisa levantar um dedo para cada quantidade. Dez dedos levantados não é o símbolo "10", são dez marcas físicas. Então a explicação de que o decimal veio dos dedos não explica o decimal em si e sim o título desta subseção "Por que dez símbolos". Explica apenas por que escolhemos ter dez símbolos. São duas coisas diferentes.
Alguém em algum momento contou nos dedos, chegou no dez, e quando precisou registrar isso no papel decidiu criar um símbolo diferente para cada quantidade que os dedos conseguiam mostrar: um símbolo para um dedo levantado, outro para dois dedos, outro para três, e assim até nove. E para o momento em que todos os dedos estavam abaixados, o zero.
Essa é uma boa explicação, por isso que é socialmente aceita, mas ainda assim é estranha, por que poderia perfeitamente existir um símbolo também para os dez dedos levantados.
A continuação da hipótese é que a invenção do sistema posicional (usar a posição para multiplicar o valor) é um passo separado e posterior. Alguém percebeu que em vez de criar um símbolo novo para o dez, podia reutilizar os símbolos que já existiam combinando-os de forma inteligente. Por isso que uma simples lista de dez símbolos vira um sistema que pode representar qualquer número.
O Problema do Decimal na Computação
O sistema decimal funciona muito bem para humanos. Mas computadores não têm dez dedos. Eles são feitos de vários conjuntos de circuitos elétricos minúsculos. E um circuito elétrico, na sua forma mais simples, só sabe fazer uma coisa: deixar a energia passar, ou não deixar. Ligado ou desligado. Não existe "mais ou menos ligado", há corrente ou não há. Isso é como se em vez de ter dez dedos, tivesse apenas um: ou o dedo está levantado, ou está abaixado.
Para um computador, representar dez estados distintos fisicamente seria extremamente complexo e propenso a erros. Representar dois estados, por outro lado, é simples, confiável e barato de implementar. Ou está passando energia, ou não está.
Então surge a mesma pergunta que surgiu quando o sistema unário começou a mostrar suas limitações: existe um sistema melhor para esse contexto do computador? Um sistema que assim como o decimal, use símbolos e posições para representar os números, porque já vimos que não só os símbolos, mas usar também as posições, deixa o sistema mais poderoso, mas que funcione apenas com dois símbolos ao invés de dez?
Existe, e é o que estudaremos a seguir.
Antes de avançar
Você consegue explicar o que é um sistema posicional e por que ele é mais eficiente nos sistemas numéricos do que apenas usar símbolos sem dar significado às posições?
E por que o sistema decimal, apesar de funcionar bem para humanos, apresenta um problema para os computadores?
Se você consegue responder essas perguntas, está pronto para entender sistemas binários.