O computador é um componente eletrônico que funciona com base em impulsos elétricos, que são representados por apenas dois valores: 0 e 1. Essa “linguagem”, denominada código binário, é capaz de comunicar qualquer coisa, somente com esses dois algarismos.
São esses valores que dizem a ele tudo o que é preciso fazer, desde uma simples representação na tela que indique qual tecla foi pressionada no teclado até a execução de jogos de última geração.
Se você é uma pessoa aficionada por tecnologia e deseja saber como o computador funciona, é fundamental entender esse sistema.
Quer descobrir mais? Então confira o nosso post em que explicaremos:
- O que é código binário
- Como funciona o sistema de código binário?
- Tradutor de código binário? Saiba como converter!
- Como escrever “eu te amo” em código binário? + tabela do alfabeto!
- Quais os tipos de código binário?
- Como surgiu e quem deu origem ao código binário?
- Porque os computadores guardam e processam a informação dessa forma?
O que é código binário?
O Código Binário, ou o Sistema de Numeração Binário, é uma forma de representação por meio de números que só aceita dois valores.
Antes de entendermos mais a fundo esse conceito na matemática ou computação, vamos imaginar uma lâmpada. Ao pensarmos nela, podemos chegar à conclusão de que uma lâmpada tem apenas dois estados possíveis: ligado e desligado. Certo?
O código binário é assim! Ele só aceita dois valores que representam opostos, como tudo ou nada, alto e baixo, ligado e desligado, etc. Esses valores são representados por meio dos caracteres “0” e “1”. Tudo que precisa de algo que tenha somente dois estados possíveis como base pode ser representado por meio do código binário.
Quando pensamos na computação, associamos esse conceito ao de dados. Um dado é qualquer registro ou “espacinho” que reservamos, seja num espaço físico ou virtual, que tenha um significado. Dentro da lógica de funcionamento de um computador, esses 0s e 1s são as menores unidades de dados que podemos encontrar, chamados bits.
Um computador consegue converter esses caracteres para impulsos elétricos e vice e versa, comunicando-se então com a sua parte física, o Hardware. Isso permite que a gente possa fazer com que a máquina realize tarefas específicas.
Quando juntamos mais 1s e 0s, um ao lado do outro, conseguimos criar uma espécie de alfabeto, “comunicando” para o computador que tarefas ele deve realizar. Por incrível que pareça, esse alfabeto consegue comunicar qualquer coisa. Somente assim é que podemos falar na “linguagem” do computador.
Então, por meio de instruções em código binário, tudo que você vê por uma tela é gerado por eles. Até mesmo o som que você escuta por meio de um computador é resultado de uma instrução gerada por uma sequência de algarismos binários. O código binário é o método até então mais eficaz de fazer essa comunicação.
Antes de prosseguir, aproveite e faça o download do Guia Hacker. Aprenda a automatizar tarefas, criar atalhos, melhorar sua segurança online e a descobrir como evitar spam no seu email.
Como funciona o sistema de código binário?
Agora, vamos entrar em áreas um pouco mais técnicas.
Se você der uma olhada na parte física do seu computador, você encontrará várias placas com diversos componentes. Uma dessas partes recebe o nome de memória central ou memória primária:
Essa placa tem nela diversos componentes chamados transistores. Esses transistores são responsáveis por alternar a energia elétrica que é recebida em voltagens consideradas altas e baixas. As voltagens mais altas são equivalentes aos 1s e as voltagens mais baixas aos 0s.
Uma outra parte chamada processador colhe essas informações, esses pulsos altos e baixos, e os utiliza para controlar outras partes físicas do computador. É importante ter em mente que precisa existir uma instrução, do contrário, esses pulsos elétricos continuariam sendo somente pulsos. Para isso serve o software, ou seja, o programa. Ele mostra para o processador o que esses pulsos equivalem em sequência binária, indicando como cada instrução deve ser seguida.
Um exemplo é o driver de vídeo, que indica por meio do código binário para o processador qual deve ser a cor e a intensidade com que cada pontinho de luz (pixel) na tela deverá acender para formar a imagem maior.
Cada sequência de 0s e 1s, portanto, formam alguma coisa de acordo com um conjunto de regras. Isso acontece com grande parte das informações, incluindo letras e números.
Para prosseguir entendendo o funcionamento do código binário, precisamos entender primeiramente como funciona o nosso modelo de representação numérico, o decimal.
Sabemos que os números principais vão de 0 a 9, correto? Esses são os algarismos diferentes que temos para representar números. Após o 9, juntamos o 1 e o 0 para indicar 10, ou seja 10 unidades de algo. Já temos tanta prática nesse sistema que nem mais enxergamos como exatamente ele funciona por trás dos panos. Veja:
Considerando o número 258, nós temos que ele é uma junção de:
- O valor 200, na casa centesimal;
- O valor 50, na casa decimal;
- O valor 8, na casa unitária;
O que exatamente isso significa? Cada vez que vamos pulando uma casa para o lado, saindo da direita para a esquerda, estamos multiplicando por dez elevado a quantidade de casas que ultrapassamos.
- Na primeira casa, começamos do fator zero. Isso significa que na verdade, estamos multiplicando 8 por 10 elevado a zero, ou 10⁰. Como qualquer coisa elevada a zero é um, e qualquer coisa multiplicada por 1 é ela mesma, nos resta somente o 8.
- Na segunda casa, multiplicamos 10 apenas uma vez, pois o 10 tem como expoente o 1. Então temos o valor 5, multiplicado por 10¹. O resultado é 50.
- Na terceira casa, multiplicamos 2 vezes o valor 10, já que é 10 elevado por 2 (10²). Então, 10 vezes 10 é igual a 100. Multiplicado ao algarismo 1 que está lá, continuamos com 100.
Parece confuso, não é? Vamos ver uma ilustração disso:
Matematicamente, o que estamos fazendo: cada vez que a gente anda uma casa para a esquerda, estamos elevando 10 pela posição daquela casa e multiplicando pelo valor expressado nela. Já temos tanto costume de usar esse sistema, que nem passamos por esse processo todo!
Porém, é importante entender ele pois o binário se comporta da mesma forma. Só que, em vez de ser 10 algarismos (0-9), e a gente potencializar o 10 pelo número da casa que estamos, faremos a mesma coisa com o 2, pois são somente 2 valores!
A sequência que temos para multiplicar então, cada vez que pulamos uma casa à esquerda é:
2⁰ = 1
2¹ = 2
2² = 4
2³ = 8
2⁴ = 16
2⁵ = 32
Então, por exemplo, vamos tirar algumas conclusões:
- Para representar o 0, podemos simplesmente usar o 0;
- Para representar o 1, podemos simplesmente usar o 1;
A partir do 2 a coisa começa a complicar. Da mesma forma que no nosso sistema decimal quando passamos do 9 precisamos adicionar uma dezena, o código binário fará a mesma coisa quando passarmos do 1. Vamos pensar, nesse caso, como podemos representar o 2.
- Sabemos que a primeira casa representa 2⁰, que resulta em 1.
- Se escolhermos colocar um zero nessa casa, o resultado final dela será zero, pois multiplicaremos o resultado do fator acima pelo algarismo que estiver na casa.
- Se escolhermos colocar 1, será 1 o resultado pelos mesmos motivos. Então, precisamos pensar.
- Para dar 2, precisamos considerar a próxima casa.
- A segunda casa, representada por 2¹, resulta em 2. Podemos simplesmente multiplicar esse valor por 1 para dar ele mesmo. Com isso, precisamos zerar a primeira casa à esquerda e a soma das duas juntas será 2.
Nosso número 2 em código binário ficou como:
0010
Uma ilustração do que fizemos:
Se você seguir essa lógica, você será capaz de converter qualquer número para o sistema binário. No entanto, é evidente que existem formas mais simples de realizar essa conversão.
Por enquanto, falamos de números. Para caracteres como letras, acentuação e etc., existem outros conjuntos de regras específicas que serão abordados mais adiante. É importante frisar nesse ponto que nem sempre uma sequência binária representará um número, afinal, dependerá das regras que as interpretam. A mesma sequência poderá dar origem a diferentes tipos de dados.
Abaixo, você vai conferir como traduzir para o código binário não só números, como outros caracteres também!
Tradutor de código binário? Saiba como converter!
A conversão de número decimal para código binário segue um padrão que ao ver a tabela que criamos para você, ficará mais fácil de compreender esse padrão.
Você já deve ter entendido o padrão, logo, o número 21 equivaleria a 10101, o número 22 = 10110, 23 = 10111 e assim por diante.
Como converter um número decimal para o sistema binário?
Todas as informações processadas precisam ser traduzidas para código binário. O número 1, por exemplo, corresponde ao binário 00000001. Mas, como é feito o cálculo para chegar a esse valor?
O sistema binário utiliza a base 2, isto é, para transformar um número com base decimal em binário todos os valores devem ser divididos por 2 até que o resto da divisão seja 0 ou 1. Ficou confuso? Veja um exemplo em que vamos converter o número 157 em binário:
157 dividido por 2 = 78 e o resto = 1
78 / 2 = 39 e o resto = 0
39 / 2 = 19 e o resto = 1
19 / 2 = 9 e o resto = 1
9 / 2 = 4 e o resto = 1
4 / 2 = 2 e o resto = 0
2 / 2 = 1 e o resto = 0
resultado= 10011101
O resultado da conversão é formado de baixo para cima, ou seja, desde o resultado da última divisão por 2 e o resto dessa divisão, mais os restos correspondentes a todas as divisões efetuadas até chegar ao número original. Portanto, no nosso exemplo o resultado será 10011101.
Como converter um número binário para decimal?
Já para fazer a conversão ao contrário, ou seja, traduzir de binário para decimal, é feita a multiplicação de cada bit por 2 elevado à sua posição. A seguir, confira o exemplo com o mesmo número que foi utilizado acima:
10011101 =
(1 x 27) + (0 x 26) + (0 x 25) + (1 x 24) + (1 x 23) + (1 x 22) + (0 x 21) + (1 x 20) =
128 + 0 + 0 + 16 + 8 + 4 + 0 + 1 = 157
E as palavras? Como converter para binário?
ASCII
Transformar os números do sistema decimal em binários é simples, mas como fazemos com as palavras? Não tem como dividir a letra A por 2 e assim sucessivamente. Entretanto, elas também têm a sua representação binária. Para atender a essa necessidade existe a tabela ASCII — American Standard Code for Information Interchange — criada por Robert W. Bemer.
A tabela ASCII contém uma escala que vai de 0 a 127, na qual cada elemento corresponde a um respectivo caractere. Dessa forma, é possível atribuir um valor numérico para as letras, teclas de funções, números de 0 a 9, acentos e outros símbolos.
A letra T em maiúscula, por exemplo, corresponde ao código ASCII 84. Portanto, se você pressionar a tecla <ALT> e digitar o número 84, a letra T será exibida na tela. Já a versão minúscula corresponde ao valor 116. Entretanto, ainda é preciso converter os valores da tabela ASCII para o código binário das letras.
Isso é feito pela conversão do valor da posição do caractere em binário. Por exemplo, para converter a letra T, que corresponde ao decimal 84, devemos fazer a divisão de 84 por 2 sucessivamente, conforme explicado no tópico anterior, e o resultado será 1010100.
O código ASCII utiliza 7 bits de um byte para a representação dos 128 elementos. Entretanto, o último bit passou a ser utilizado para adicionar mais alternativas à tabela, que conta atualmente com 256 elementos, inclusive os caracteres acentuados.
UTF(8)
Existem outros formatos de codificação binária, como o UTF-8 — Unicode Transformation Format. Trata-se de um padrão compatível com a tabela ASCII, mas o seu comprimento pode ser variado, pois admite de 1 a 4 bytes para a representação.
Esse é um dos formatos mais utilizados em aplicações web. Observe que na maioria dos códigos fontes de páginas HTML contém a seguinte declaração:
<meta charset="utf-8"/>
Essa é a indicação para que o navegador entenda qual o tipo de codificação deve utilizar na página. Sem essa especificação podem aparecer caracteres estranhos quando utilizamos palavras com acentuação.
Apesar de o processamento do código binário ser automático pelos compiladores e pelo sistema operacional, pode ser necessário inserir algum elemento da tabela ASCII ou especificar a utilização da codificação UTF-8 nas aplicações. Por isso, é importante que as pessoas que desenvolvem softwares entendam como esse sistema funciona.
Como escrever “eu te amo” em código binário? + tabela do alfabeto!
Agora que você aprendeu formas mais fáceis de converter de código binário para decimal e vice e versa, para além de compreender os formatos ASCII e UTF-8, faremos um exercício mais prático! O que acha que aprender a escrever “Eu te amo” em código binário?
Pode ser uma bonita declaração de amor para fazer para alguém especial em sua vida, especialmente se vocês tiverem uma paixão pela tecnologia, assim como a gente!
Na tabela abaixo, você encontrará os caracteres equivalentes a cada código binário, baseado na ASCII.
LETRA | CÓDIGO BINÁRIO | LETRA | CÓDIGO BINÁRIO |
a | 01100001 | A | 01000001 |
b | 01100010 | B | 01000010 |
c | 01100011 | C | 01000011 |
d | 01100100 | D | 01000100 |
e | 01100101 | E | 01000101 |
f | 01100110 | F | 01000110 |
g | 01100111 | G | 01000111 |
h | 01101000 | H | 01001000 |
i | 01101001 | I | 01001001 |
j | 01101010 | J | 01001010 |
k | 01101011 | K | 01001011 |
l | 01101100 | L | 01001100 |
m | 01101101 | M | 01001101 |
n | 01101110 | N | 01001110 |
o | 01101111 | O | 01001111 |
p | 01110000 | P | 01010000 |
q | 01110001 | Q | 01010001 |
r | 01110010 | R | 01010010 |
s | 01110011 | S | 01010011 |
t | 01110100 | T | 01010100 |
u | 01110101 | U | 01010101 |
v | 01110110 | V | 01010110 |
w | 01110111 | W | 01010111 |
x | 01111000 | X | 01011000 |
y | 01111001 | Y | 01011001 |
z | 01111010 | Z | 01011010 |
Para adicionar um espaço em branco em código binário, pode-se utilizar o código “00100000”
1 – Escrevendo “Eu te amo”, com a primeira letra maiúscula
Vamos agora escrever a palavra “Eu te amo”, com a primeira letra, “E”, maiúscula:
E = 01000101
u = 01110101
t = 01110100
e = 01100101
a = 01100001
m = 01101101
o = 01101111
Na forma escrita, temos:
0100010101110101 0111010001100101 011000010110110101101111
Se você quiser adicionar um pouco mais de dificuldade na tradução, dá pra indicar os espaços em branco também com:
010001010111010100100000011101000110010100100000011000010110110101101111
2 – Escrevendo “eu te amo”, com todas as letras minúsculas
Vamos agora escrever a palavra “eu te amo”, com todas as letras minúsculas:
e = 01100101
u = 01110101
t = 01110100
e = 01100101
a = 01100001
m = 01101101
o = 01101111
Na forma escrita, temos:
0110010101110101 0111010001100101 011000010110110101101111
Se você quiser adicionar um pouco mais de dificuldade na tradução, dá pra indicar os espaços em branco também com:
011001010111010100100000011101000110010100100000011000010110110101101111
3 – Escrevendo “EU TE AMO”, com todas as letras maiúsculas
Vamos agora escrever a palavra “EU TE AMO”, com todas as letras maiúsculas:
E = 01000101
U = 01010101
T = 01010100
E = 01000101
A = 01000001
M = 01001101
O = 01001111
Na forma escrita, temos:
0100010101010101 0101010001000101 010000010100110101001111
Se você quiser adicionar um pouco mais de dificuldade na tradução, dá pra indicar os espaços em branco também com:
010001010101010100100000010101000100010100100000010000010100110101001111
Quais os tipos de código binário?
Weighted Codes
Os códigos binários Ponderados (Weighted Codes) seguem o princípio de pesos posicionais, ou seja, cada número em sua posição contém um valor de peso específico.
Non-Weighted Codes
Como o nome já sugere, os códigos binários não ponderados não seguem o princípio de pesos posicionais, porém, contêm os tipos de código como o Excess-3 e o Código cinza.
Código decimal binário codificado
Neste tipo de código, cada valor numérico decimal é representado por 4 bits. Por exemplo, o número decimal 0, utilizando o código decimal binário codificado seria 0000, o número 1 = 0001, 2 = 0010… Ou seja, esse tipo de código segue o padrão da tabela mostrada acima, porém, sempre com 4 bits.
Códigos Alfanuméricos
Os códigos alfanuméricos representam caracteres e números do alfabeto. Eles também englobam diversos caracteres e símbolos que são comumente utilizados no dia a dia das pessoas para trocar informações. Os códigos alfanuméricos são dispostos de 36 itens, sendo ao menos 10 dígitos e 26 letras do alfabeto.
Códigos de detecção de erros
Erros, nesse sentido, significam que as informações que entraram não estão condizentes com as informações de saída, ou seja, a comunicação entre um computador e outro está com falha.
Para detectar se houve uma falha de comunicação entre dois dispositivos, existe o código de detecção de erros, que nada mais é que acréscimo de dados e informações que ajudam a identificar se houve problema entre a troca de informações.
Códigos de correção de erros
Já os códigos de correção de erros, que trabalham juntamente com o código de detecção de erros, permitem também que sejam acrescidas informações para que seja possível verificar a mensagem de entrada com a mensagem corrompida. Além disso, com eles é possível verificar exatamente qual o bit corrompido.
Como surgiu e quem deu origem ao código binário?
A inspiração para a utilização do código binário nos sistemas computacionais que temos hoje vem do sistema binário moderno, uma teoria aritmética documentada por Gottfried Wilhelm Leibniz. O filósofo explanou a teoria desse sistema binário na obra “Explicação da Aritmética Binária” que publicou em 1703. Ele ficou conhecido posteriormente como pai do código binário
Leibniz compreendeu que esse sistema seria ideal para ser utilizado em aplicações mecânicas e até mesmo chegou a esboçar um projeto de um computador primitivo, mas sabia que não havia tecnologia suficiente na sua época para construí-lo.
Apesar do sistema binário só ter ganhado notoriedade a partir das mãos de Leibniz, não é verdade que essa foi a primeira vez que ele foi utilizado. Civilizações mais antigas já utilizavam sistemas numéricos que se assemelhavam bastante a esse, por exemplo:
- A civilização egípcia usava frações conhecidas como “Olho de Hórus” para mensurar grãos e líquidos em mais de 2000 anos antes de Cristo. Essa metodologia utiliza uma forma de código binário;
- O milenar livro chinês I Ching apresentava símbolos que eram incrementados por meio de progressão binária. Essa foi uma das inspirações de Leibniz, uma vez que ele achava fascinante essa maneira de comunicar mensagens.
- Em 200 antes de Cristo, um famoso matemático indiano apresentou um sistema numérico binário muito similar ao moderno, usando sílabas curtas e longas para representar 0 e 1. A única diferença é que o sistema começava a contar do 1, e o moderno começa do 0.
Porque os computadores guardam e processam a informação dessa forma?
Hoje temos computadores muito robustos que executam funções com uma velocidade impressionante, porém, como você deve saber, nem sempre foi assim.
Antigamente, os computadores eram enormes, alguns preenchiam uma sala inteira, mas eram muito importantes e revolucionários para a época. Para que o seu uso fosse possível, ele foi criado com um sistema aparentemente simples, com SIM ou NÃO, e se você já está relacionando isso com 0 e 1, você acertou! O 0 para a máquina equivale a NÃO e o 1 para a máquina significa SIM.
Com essa explicação parece muito simples, não é? Porém, isso era extremamente complicado, pois, para que funcionasse, era necessário conectar cada cabo no seu local exato.
Hoje em dia tudo isso está mais invisível. Para quem utiliza, existe apenas uma tela, muitas vezes bonita e intuitiva, que foi construída por um time de tecnologia e desenvolvida por um programador ou programadora, que por sua vez também não vê diretamente o uso dos binários. Porém, nas profundezas, esse sistema binário continua existindo.
Aqui introduzimos uma tabelinha de quantidades e tamanho de armazenamento para você.
Com a evolução entre as gerações, utilizar um computador ficou muito simples e intuitivo, com isso, muitas pessoas desconhecem o funcionamento de um computador e não compreendem a importância do sistema de códigos binário.
Porém, ainda vemos que estudantes ou curiosos procuram compreender esse fascinante mundo e, para melhor compreensão, o uso do tradutor de código binário é de suma importância, pois de forma rápida e simples você obtém os resultados que precisa.
Portanto, invista um tempo para compreender esse sistema que lhe ajudará muito! E se você gostou desse conteúdo, não deixe de conferir sobre o que é e quais os principais tipos de processamento de dados!