Código binário.

Sim, eu sei, vocês estavam loucos para saber sobre este assunto fascinante, mas nunca encontraram em si a vontade de aprender mais. Nada temam, tão certo quando 1 + 1 é 10, vocês ficarão fascinados com o intrigante mundo dos zeros e uns. Ou talvez odiarão. Afinal, neste assunto não existe meio termo.

Na nossa vida encontramos diversos casos onde as respostas ficam numa área cinza, sem muita certeza nem para um lado, nem para o outro. A natureza é cheia de nuances e possibilidades inexploradas, faz sentido manter a mente aberta e não se contentar com uma visão de mundo que só conceba preto e branco. A não ser, é claro, que você seja uma máquina, aí você está preocupado demais em tornar possível aquele comentário babaca na rede social para ficar se perdendo em análises sobre a relatividade do universo. Aí é melhor ficar no sim ou não, você tem um trabalho para fazer!

A ideia básica de qualquer sistema binário não poderia ser mais simples: na menor escala de decisões, você sempre tem duas escolhas. O exemplo mais simples (pelo menos atualmente) é o do computador: se você se aprofundar o suficiente no que ele faz, ele basicamente só trata da informação que recebe dizendo se viu um “zero” ou um “um”. Todas as coisas incríveis desse admirável mundo digital podem ser reduzidas a zeros e uns. Desde este texto até um complexo jogo em 3D, todas formas bonitas de representar esses dois singelos valores.

BITS

Para entender a lógica, você precisa entender o que é um bit. Bit significa pedaço em inglês, se bem que a tradução mais honesta é “pedacinho”. Um bit é a menor informação (variável) possível. Convenhamos que se não pudesse variar entre pelo menos dois elementos, ia ser bem inútil. Para ouvir sempre as mesmas respostas já temos nossos relacionamentos amorosos…

E como esses bits viram informação tão complexa? Aí surge a graça da progressão geométrica! Um computador vai te perguntar uma coisa por vez e vai entregar o resultado disso. Imagine que o computador é a pior filial do Subway que já existiu: o atendente vai te perguntar UMA vez o que você quer na forma de um “sim ou não” e VAI te entregar alguma coisa depois. E pior, você vai ter que aceitar.

Um bit só pode ser 0 ou 1. Existem duas informações possíveis vindas dele. Nesse ponto, estão te perguntando se você quer um sanduíche ou não, seja ele de frango ou de merda. Se você trabalha com dois bits, as coisas começam a melhorar: você pode ter como resposta 00, 01, 10 e 11! Dobrou! Agora a pergunta pode ser se você quer um sanduíche e se quer que coloquem merda nele. Eu espero que você responda não a pelo menos uma dessas perguntas.

3 bits? 000, 001, 010, 011, 100, 101, 110, 111! Dobrou de novo, oito possibilidades. Agora você pode querer o sanduíche, recusar a merda, aceitar o frango e ainda por cima aceitar uma bebida (muito embora eu não recomende aceitar cegamente uma bebida de quem acaba de te oferecer um sanduíche de merda…). E isso vai embora! Cada vez dobrando de novo. Quanto mais bits um computador consegue ler por vez, mais complexas são as ordens que ele pode executar. Eventualmente vai sair um pedido do jeito que você quer.

E é muito nisso que se baseia a computação atual: você já deve ter ouvido falar de processadores de 32bits e 64bits. Pode parecer frescura dos fabricantes – um daqueles termos técnicos para enganar trouxa – mas como acabamos de ver, é um avanço considerável. A cada vez que o processador… processa, ele lê 64 bits. E os razoáveis para bons podem fazer isso umas duas ou três bilhões de vezes por segundo, em média.

REPRESENTANDO

E como os zeros e uns viram números e letras? Bom, computadores são como maridos: não fazem nada a não ser que recebam instruções claras e sejam obrigados. Alguém precisa dizer para os computadores o que esses zeros e uns significam. Por isso podemos dizer que o código binário é mais uma língua: diferentes combinações de seus elementos básicos geram significados. A nossa língua usa 23 (ok, 26 para acomodar os nomes de pobre tipo Kerolâyne) letras diferentes que se combinadas de formas diferentes geram palavras diferentes. No sistema binário, são duas “letras” que viram todo o resto. Inclusive os números. Alguém teve que fazer o trabalho chato de definir o que é o quê. O sistema binário tem suas regras, e elas são reprodutíveis.

Vamos considerar os números:

0 é 0 e 1 é 1. Fácil, mas… e o 2? Bom, é simples até: quando não dá mais para representar com um bit, representa com dois. Quando não dá mais para fazer com 2, adiciona o terceiro, sempre adicionando mais um 1 no lugar dos zeros, da direita para a esquerda. E eu sei que você pode estar com cara de “wat” agora, por isso um exemplo prático:

00 = 0000
01 = 0001 - precisa de mais um bit
02 = 0010 - o bit adicionado começa pelo 0
03 = 0011 - agora esse novo bit já pode virar 1
04 = 0100 - precisou de mais um bit
05 = 0101 - adivinha?
06 = 0110 - o 1 vai para a esquerda, dando lugar para um 0
07 = 0111 - encheu de 1? precisa de mais um bit
08 = 1000 - eles vão começar do zero
09 = 1001 - o 1 começa seu caminho de novo
10 = 1010 - e assim por diante...

E lembram como os bits progridem em escala geométrica? Tem algo bacana aqui: você sabe quantos números vai poder contar antes de adicionar mais um bit, antes mesmo de contar. Prestem atenção: são 2 números com 1 bit, são 4 números com 2, serão 8 com 3… é só ir multiplicando por 2 seguidas vezes. E vai observando os números na sequência, de cima pra baixo: o último dígito sempre vai variar entre 0 e 1, o penúltimo sempre vai seguir a ordem de 0, 0, 1 e 1, o antepenúltimo de 0, 0, 0, 0, 1, 1, 1 e 1… e assim vai também, em escala geométrica. O sistema binário é bem elegante e organizado.

E mais: dá pra fazer contas com os números binários. Vamos fazer 7 – 3 em números binários? Não? Mas está tão divertido… bom, que seja, eu vou fazer mesmo assim…

7 = 111 -
3 = 011
-----------
4 = 100

Hã? Simples assim? Pois é. 111 – 11 é 100 mesmo! É tudo questão de encaixar as casas. Vamos somar?

07 = 111 +
03 = 011
-----------
10 = 122

Ha! Brincadeira. Na soma não dá para seguir a mesma lógica. Vamos de verdade:

07 = 0111 +
03 = 0011
-----------
10 = 1010

A ideia é que 0 + 0 = 1 (wat), 0 + 1 ou 1 + 0 = 1 (ok!), e 1 + 1 = 10. O que faz sentido, porque 1 + 1 é mesmo igual a 2 (vulgo 10 em binário). Quando você tira um 10, você deixa o 0 na casa e leva o 1 pra frente. 1 + 1 é igual a 0, e 0 + 1 é igual a 1. Se você completou o ensino fundamental, já entendeu a lógica. Pelo menos… eu espero. Todas as outras contas disponíveis com os números “habituais” valem no sistema binário.

E as letras? Bom, sempre que possível elas seguem padrões parecidos. Normalmente codificamos as letras com 8 bits, já ouviram falar da tabela ASCII? É um mapeamento dos caracteres em código binário muito comum. Com os 8 bits, temos 128 variações disponíveis, mas para isso ser prático, gastamos, por exemplo, os 3 primeiros bits para dizer se é letra maiúscula ou minúscula. Sobram 5, o que ainda nos permite 32 delas, mais do que o suficiente.

A letra “a” minúscula começa com 011 para dizer que é minúscula (010 seriam as maiúsculas), e 00001 para dizer que é a letra “a”. Depois disso pode seguir aquela mesma lógica dos números: 01100010 é a letra “b” minúscula. Sabendo esse código, é fácil (mentira) decifrar o texto abaixo:

010001010111010100100000011101000110010101101110011010000110111100100000011011010111010101101001011101000110111100100000011101000110010101101101011100000110111100100000011011000110100101110110011100100110010100101110

Lembre-se, vai de 8 em 8. Lembre-se também, você vai voltar a ser virgem se fizer essa decodificação na raça ao invés de colar num tradutor automático.

E EU COM ISSO?

Quem disse que eu escrevo textos para te acrescentar algo? Mas para ser honesto, o sistema binário é a fundação não só do funcionamento dos computadores, mas de muito da tecnologia que usamos. O que é digital usa zeros e uns, o que é analógico trabalha com dados diversos de acordo com o que o ambiente apresenta como informação. O CD (lembra dele?) é digital, os dados são gravados na sua superfície em zeros e uns na forma de superfícies que refletem o laser ou não. O vinil é analógico: a forma como ele é moldado gera sons diferentes de acordo com as ranhuras na superfície, por isso ele “muda” com o passar do tempo e as condições de manutenção. Não precisa passar por um processador antes de exibir a informação.

Se você quer programar um computador ou montar um circuito, os conceitos binários estarão em todos os lugares. Os chips, em sua forma mais simples, nada mais fazem do que responder sim ou não quando perguntados. Os programas de computador normalmente trabalham com conceitos de verdadeiro ou falso para tratar as informações que recebem. Esse mundo de hoje está fundamentado em zeros e uns.

O que talvez explique muitos dos textos que escrevemos sobre o comportamento do BM nas redes sociais… pessoas deveriam analógicas, não digitais.

Para dizer que só não entendeu por que leu esse texto, para dizer que minha nota foi 10 (em binário), ou mesmo para dizer que eu devo ser divertido em festas: 011100110110111101101101011010010111001001000000011001000110010101110011011001100110000101110110011011110111001000101110011000110110111101101101

Se você encontrou algum erro na postagem, selecione o pedaço e digite Ctrl+Enter para nos avisar.

Desfavores relacionados:

Etiquetas:

Comments (21)

  • Somir, você é muito burro!
    A expressão “bit”, no mundo da informática, surgiu da abreviação de “binary digit”.

    Além disso, existe outra forma mais fácil (espero) para explicar as operações com binários, onde qualquer um pode perceber que ele funciona como qualquer outro sistema de numeração. Basta notar que cada casa representa uma potência de 2.

    • Aliás, tenho meu próprio conversor: 0110100001110100011101000111000000111010001011110010111101100001011011000110010101110011011100110110000101101110011001000111001001101111011100110110000101101110011101000110111101110011001011100110001101101111011011010010111001100010011100100010111101101100011000010110001000101111011001100111010101101110001011110110001001101001011011100110000101110010011010010110111100101111

  • Me lembrou os bons tempos de início da faculdade quando fui apresentada ao código binário e fiquei com cara de wat?

  • 010011010111010101101001011101000110111100100000011010010110111001110100011001010111001001100101011100110111001101100001011011100111010001100101

  • Uma menção honrosa: “computadores são como maridos: não fazem nada a não ser que recebam instruções claras e sejam obrigados”.

    • 0101000001110010011000010010000001100010011001010111001101110100011001010110100101110010011000010010000001100001001000000110011101100101011011100111010001100101001000000111001101100101011011010111000001110010011001010010000001110100011001010110110100100000011101000110010101101101011100000110111100101110

  • Ótima explicação. Acho que vou colar esse post em um dos meus muitos perfis lotados no livrodasfuças para disseminar o conhecimento de como o livro coloca as fotinhas na linha do tempo, ou quantos zeros e uns são necessários para um like.
    Não entendi bulhufas.
    Mas, quem está ligando. Só quero curtidas.

  • Todas as vezes que eu me propus a fazer um 1000101 a mulher não entendeu. Acho que elas não trabalham bem em binário.

Deixe um comentário

O seu endereço de e-mail não será publicado.

Relatório de erros de ortografia

O texto a seguir será enviado para nossos editores: