Como funciona o sistema binário?
Por Victoria Thibes | •
Você já deve ter ouvido falar que todos os computadores "pensam" apenas em 0 e 1. E é verdade. Todas as informações e tudo o que o seu computador está fazendo neste exato momento está sendo processado em dados compostos apenas de 0 e 1. Isso é o Sistema Binário.
Um sistema de numeração
Mas antes de explicar como o seu computador utiliza esses números, precisamos explicar exatamente o que significa um número estar escrito em binário. E para isso, vamos utilizar um exemplo:
O número 24. Por extenso, vinte e quatro. O que ele significa, exatamente? Por que está escrito desta forma?
"24 = vinte e quatro" é um número escrito na base decimal. Isso significa que, dentro dessa forma de representação, existem dez símbolos diferentes que, combinados, formam todos os números possíveis, a partir de potências do número dez. Você deve ter adivinhado: esses símbolos são 0,1,2,3,4,5,6,7,8 e 9. A base decimal é a forma como interpretamos números em praticamente todas as ocasiões de nossas vidas, mas não é a única. Uma outra muita importante, é claro, é a base binária.
A base binária, assim como a decimal, é capaz de simbolizar todos os números possíveis e imagináveis. No entanto, ao contrário da forma mais comum, utiliza apenas os símbolos 0 e 1. No caso de "vinte e quatro", por exemplo, se escreve 11000. E "vinte e cinco"? 11001. "Vinte e seis?" 11010. Talvez você já tenha percebido um padrão aí.
Na base decimal, vinte e quatro é escrito da seguinte forma:
24 = 2x101 + 4x100 = 2x10 + 4x1 = 24.
Se o número fosse 124, seria: 1x102 + 2x101 + 4x100 = 1x100 + 2x10 + 4x1 = 124.
3124? 3x103 + 1x102 + 2x101 + 4x100 = 3x1000 + 1x100 + 2x10 + 4x1 = 3124.
E assim sucessivamente. Todos os números são escritos a partir de potências do número 10. A base é o número dez, logo, é decimal.
No caso da base binária, é semelhante:
11000 = 1x24 + 1x23 + 0x22 + 0x21 + 0x20 = 1x16 + 1x8 + 0x4 + 0x2 + 0x1 = 24 (em decimal).
111000 = 1x25 + 1x24 + 1x23 + 0x22 + 0x21 + 0x20 = 1x32 + 1x16 + 1x8 + 0x4 + 0x2 + 0x1 = 56 (em decimal).
A base é o número dois, e todos os números são escritos a partir de potências do número dois.
Na tabela a seguir, vemos os números de 0 a 31 escritos na forma decimal e na forma binária:
Decimal | Binário | Decimal | Binário |
0 | 0 | 16 | 10000 |
1 | 1 | 17 | 10001 |
2 | 10 | 18 | 10010 |
3 | 11 | 19 | 10011 |
4 | 100 | 20 | 10100 |
5 | 101 | 21 | 10101 |
6 | 110 | 22 | 10110 |
7 | 111 | 23 | 10111 |
8 | 1000 | 24 | 11000 |
9 | 1001 | 25 | 11001 |
10 | 1010 | 26 | 11010 |
11 | 1011 | 27 | 11011 |
12 | 1100 | 28 | 11100 |
13 | 1101 | 29 | 11101 |
14 | 1110 | 30 | 11110 |
15 | 1111 | 31 | 11111 |
A forma como o computador guarda informações
Então, já vimos como números são transformados da base decimal (a que nós, humanos, utilizamos para quase tudo) para a base binária (como computadores os veem). Agora resta explicar por que computadores foram criados para funcionar desta forma e como isso acontece.
O mais importante de tudo é lembrar que computadores nem sempre foram da forma como são hoje. Isso é meio óbvio, é claro. Acontece que hoje, em meio a smartphones, notebooks e desktops, é difícil pensar que, nos anos 1940, computadores não eram uma caixinha conectada a um monitor, mouse e teclado (entre outros). Eles estavam mais para caixas gigantescas (do tamanho de salas) cheias de cabos, capacitores e resistores:
Ok, onde eu coloco o pen drive?
E como essa máquina gigante que aparentemente faz pouco sentido (este é um Eniac, de 1945) faz qualquer coisa? Como faz cálculos? Como guarda dados? Roda Skyrim (infelizmente para os adolescentes dos anos 1940, não)? Simples: com instruções de "sim" e "não". Ou, basicamente 0 (não) e 1 (sim), desligado (não) e ligado (sim). Programar uma belezinha dessas não era simplesmente escrever algumas linhas de código, compilar e torcer pelo melhor: o programador tinha que ligar cada cabo correto em cada entrada correta para que, ao final de tudo, a combinação de cabos ligados e desligados correspondesse à instrução que ele queria.
Como é de se esperar, era um trabalho enorme.
Por sorte nossa, computadores hoje são MUITO mais simples de operar, e a maior parte do trabalho é feita por programadores, restando ao usuário apenas clicar, arrastar e digitar. Mas não se engane: não é porque você não vê, que esse tipo de trabalho (ligado desligado ligado desligado 0 1 0 1 001101010101010) não está lá. A nível mais baixo, o seu processador continua funcionando com instruções desse tipo. Cabe ao sistema operacional traduzir tudo o que você faz para essa linguagem binária que é passada para o computador, que por sua vez pode fazer o que você quer.
E para você ter uma noção de tamanho e quantidade de instruções, apenas tenha essa tabela em mente:
1 bit = 1 unidade binária (0 ou 1)
1 byte = 8 bits
1 kilobyte = 1.024 bytes
1 gigabyte = 1.000.000.000 bytes (1 bilhão)
Em termos de computação dos anos 1940, 1GB de RAM (que é pouco hoje em dia para um desktop ou notebook) equivale a oito BILHÕES de lâmpadas ligadas ou desligadas que, juntas, guardam as instruções do seu computador e as repassam para o processador. Ao mesmo tempo.
A moral disso tudo? Agradeça a gerações e gerações de engenheiros e programadores por tudo o que temos hoje em dia. Se não fosse por eles, estaríamos agora andando de um lado para o outro ligando e desligando cabos apenas para ler essa matéria.