Publicidade

Por que os computadores utilizam linguagem binária?

Por  • Editado por Jones Oliveira | 

Compartilhe:
Por que os computadores utilizam linguagem binária?
Por que os computadores utilizam linguagem binária?

Dos smartphones aos servidores de Data Centers, todos os computadores são conjuntos de bilhões de componentes eletrônicos organizados em sistemas extremamente complexos para realizar cálculos — ou computar. Como a operação desses circuitos se baseia na presença ou ausência de carga, a linguagem binária é ideal para representar matematicamente os dados ao longo de todos os caminhos do circuito.

  • Portões OU: Se pelo menos uma das entradas binárias for 1, a entrada de saída será 1
  • Portões NÃO: Esses portões utilizam apenas uma entrada binária para uma saída, não havendo comparação. Se a entrada for 1, a saída será 1, se a entrada for 0, a saída será 0.
  • Unidade Lógica e Aritmética (ALU): é o componente que realiza as operações matemáticas com todos os zeros e uns armazenados nos registradores.
  • Unidade controladora (CU): é parte da CPU que determina o que cada componente irá fazer dependendo do código recebido.
  • Registradores: são dispositivos de armazenamento de dados associados ao conjunto de transistores, portões lógicos, CUs, ALUs e outros possíveis componentes. Cada dado 0 ou 1 gerado nas interações de portões lógicos e ALUs é armazenado em um endereço de registradores. A letra C, por exemplo, pode ser interpretada como 01000011, em binário. Isso significa que ela utiliza 8 registradores sequenciais nessas configurações de ligado e desligado para ser armazenada.
  • Instruções: São os códigos de mais baixo nível, imediatamente acima do binário, e definem todas as ações que aquele chip consegue realizar.
  • Ciclos computacionais: Correntes elétricas se comportam em formato de ondas, com picos e vales, criando pulsos — os intervalos entre os picos. Cada pulso é um ciclo, ou quando corrente percorre todo o circuito acionando cada componente, resultando na execução das instruções.
Canaltech
O Canaltech está no WhatsApp!Entre no canal e acompanhe notícias e dicas de tecnologia
Continua após a publicidade

Por que não utilizar outra base numérica? 

Como os computadores são, essencialmente, grandes calculadoras que transformam números em equações complexas convertidas em informação digital, é comum ficar a dúvida sobre o porquê de não utilizarmos outra base numérica, no lugar da binária.

A questão é que isso não necessariamente é uma verdade absoluta. Para quem está acostumado com programas de edição de imagens, é comum ver os códigos de cores em #FF000 para representar o vermelho, por exemplo.

Esse código, é justamente uma combinação de endereços em outra base numérica, no caso a hexadecimal (base dezesseis). Lembrando que o padrão de cores que utilizamos é o RGB (Vermelho/Verde/Azul), cada digito em hexa decimal é um tom de intensidade naquela cor específica, variando de 0 a 255 (FF).

O problema é que os transistores só operam com os valores 0 e 1. Representar essa cor vermelha em código binário nesse mesmo arranjo RGB seria #111111110000000000000000, um número muito maior e mais difícil para as pessoas compreenderem. 

Sendo assim, a linguagem computacional utiliza, sim, outras bases numéricas além da binária, mas a escolha depende de dois fatores principais: aplicação e camada de programação. Na camada mais básica, é impossível utilizar qualquer base diferente do binário, mas em um nível muito superior, com o de interface direta com o usuário, seguir esse padrão é muito pouco prático, além de ser extremamente confuso.

Continua após a publicidade

Única linguagem que os computadores entendem

Para muitos programas, o código de alto nível pode ser convertido muito mais facilmente para base 16, como nos games de consoles 16 bits. Inclusive, é por essa razão que os cartuchos Gameshark para trapacear nos jogos utilizavam códigos em hexadecimal.

No fundo, inserir esses códigos estava alterando endereços específicos do programa daqueles games, dando vidas extra, desbloqueando personagens, pulando fases, e assim por diante. O mesmo vale para os aceleradores de instruções dos processadores, como os MMX, AVX2, FMA3.

Continua após a publicidade

Na prática, eles são hardwares projetados para pegar códigos de alto nível, programados em linguagens mais simples para o programador, e convertê-los para binário, única linguagem que a máquina consegue, efetivamente, entender.