O que é binário e por que os computadores o usam?

Os computadores não entendem palavras ou números da mesma forma que os humanos. O software moderno permite que o usuário final ignore isso, mas nos níveis mais baixos do seu computador, tudo é representado por um sinal elétrico binário que é registrado em um de dois estados: ligado ou desligado. Para dar sentido a dados complicados, seu computador precisa codificá-los em binário.

O binário é um sistema numérico de base 2. Base 2 significa que há apenas dois dígitos – 1 e 0 – que correspondem aos estados ligado e desligado que seu computador pode entender. Você provavelmente está familiarizado com a base 10 – o sistema decimal. Decimal usa dez dígitos que variam de 0 a 9 e, em seguida, volta a formar números de dois dígitos, com cada dígito valendo dez vezes mais que o último (1, 10, 100, etc.). O binário é semelhante, com cada dígito valendo duas vezes mais que o anterior.

Índice

Contando em Binário

Em binário, o primeiro dígito vale 1 em decimal. O segundo dígito vale 2, o terceiro vale 4, o quarto vale 8 e assim por diante – dobrando a cada vez. Somando tudo isso, você obtém o número em decimal. Então,

1111 (em binário) = 8 + 4 + 2 + 1 = 15 (em decimal)

Considerando 0, isso nos dá 16 valores possíveis para quatro bits binários. Mova para 8 bits e você terá 256 valores possíveis. Isso ocupa muito mais espaço para representar, pois quatro dígitos decimais nos dão 10.000 valores possíveis. Pode parecer que estamos passando por todo esse trabalho de reinventar nosso sistema de contagem apenas para torná-lo mais desajeitado, mas os computadores entendem muito mais binário do que decimal. Claro, o binário ocupa mais espaço, mas somos impedidos pelo hardware. E para algumas coisas, como processamento lógico, binário é melhor que decimal.

Recomendado:  O que é o novo padrão EasyMesh Wi-Fi? (e por que ainda não importa)

Existe outro sistema básico que também é usado na programação: hexadecimal. Embora os computadores não sejam executados em hexadecimal, os programadores o usam para representar endereços binários em um formato legível por humanos ao escrever código. Isso ocorre porque dois dígitos hexadecimais podem representar um byte inteiro, oito dígitos em binário. Hexadecimal usa 0-9 como decimal, e também as letras de A a F para representar os seis dígitos adicionais.

Então, por que os computadores usam binários?

A resposta curta: hardware e as leis da física. Cada número em seu computador é um sinal elétrico e, nos primeiros dias da computação, os sinais elétricos eram muito mais difíceis de medir e controlar com precisão. Fazia mais sentido distinguir apenas entre um estado “ligado” – representado por carga negativa – e um estado “desligado” – representado por uma carga positiva. Para aqueles que não têm certeza de por que “desligado” é representado por uma carga positiva, é porque os elétrons têm uma carga negativa – mais elétrons significam mais corrente com uma carga negativa.

Portanto, os primeiros computadores do tamanho de uma sala usavam binários para construir seus sistemas e, embora usassem hardware muito mais antigo e mais volumoso, mantivemos os mesmos princípios fundamentais. Os computadores modernos usam o que é conhecido como transistor para realizar cálculos com binários. Aqui está um diagrama da aparência de um transistor de efeito de campo (FET):

Basicamente, ele só permite que a corrente flua da fonte para o dreno se houver corrente na porta. Isso forma uma chave binária. Os fabricantes podem construir esses transistores incrivelmente pequenos – até 5 nanômetros ou aproximadamente do tamanho de duas fitas de DNA. É assim que as CPUs modernas operam, e até mesmo elas podem sofrer problemas de diferenciação entre os estados ligado e desligado (embora isso seja principalmente devido ao seu tamanho molecular irreal, estando sujeito à esquisitice da mecânica quântica ).

Recomendado:  Como ocultar o entalhe do MacBook em um aplicativo

Mas por que apenas a Base 2?

Então você pode estar pensando, “por que apenas 0 e 1? Você não poderia simplesmente adicionar outro dígito? ” Embora parte disso se traduza na tradição de como os computadores são construídos, adicionar outro dígito significaria que teríamos que distinguir entre diferentes níveis de corrente – não apenas “desligado” e “ligado”, mas também estados como “um pouco bit ”e“ muito ”.

O problema aqui é se você quisesse usar vários níveis de voltagem, você precisaria de uma maneira de realizar cálculos facilmente com eles, e o hardware para isso não é viável como um substituto para a computação binária. Na verdade, existe; é chamado de computador ternário e existe desde os anos 1950, mas foi basicamente aí que o desenvolvimento parou. A lógica ternária é muito mais eficiente do que a binária, mas até agora, ninguém tem um substituto eficaz para o transistor binário, ou pelo menos, nenhum trabalho foi feito em desenvolvê-los nas mesmas escalas minúsculas do binário.

A razão pela qual não podemos usar a lógica ternária se resume à maneira como os transistores são empilhados em um computador – algo chamado de “portas” e como eles são usados ​​para realizar cálculos. Os portões pegam duas entradas, realizam uma operação nelas e retornam uma saída.

Isso nos leva à longa resposta: a matemática binária é muito mais fácil para um computador do que qualquer outra coisa. A lógica booleana mapeia facilmente para sistemas binários, com True e False sendo representados por on e off. As portas em seu computador operam com lógica booleana: elas pegam duas entradas e executam uma operação nelas como AND, OR, XOR e assim por diante. Duas entradas são fáceis de gerenciar. Se você fosse representar graficamente as respostas para cada entrada possível, você teria o que é conhecido como uma tabela verdade:

Recomendado:  Como os golpistas criam endereços de e-mail e como você pode saber

Uma tabela verdade binária operando na lógica booleana terá quatro saídas possíveis para cada operação fundamental. Mas como as portas ternárias aceitam três entradas, uma tabela verdade ternária teria 9 ou mais. Enquanto um sistema binário tem 16 operadores possíveis (2 ^ 2 ^ 2), um sistema ternário teria 19.683 (3 ^ 3 ^ 3). O dimensionamento se torna um problema porque, embora o ternário seja mais eficiente, também é exponencialmente mais complexo.

Quem sabe? No futuro, poderíamos começar a ver os computadores ternários se tornando uma coisa, à medida que empurramos os limites do binário para um nível molecular. Por enquanto, porém, o mundo continuará rodando em binário.

Créditos da imagem: spainter_vfx / Shutterstock,  Wikipedia , Wikipedia , Wikipedia , Wikipedia