robertheory
Jan 11
Há 10 tipos de pessoas no mundo: aquelas que entendem binário e aquelas que não entendem.
Vamos juntos em uma jornada para compreender as bases da computação e desbravar o mundo da tecnologia: sistemas numéricos em computação!
Antes de falar como este sistems se aplicam na computação, vamos fazer uma breve introdução que vai nos assistir com conceitos super importantes para entender o restante.
Sistemas de numeração consistem em um conjunto de regras e símbolos utilizados para representar quantidade de forma organizada.
Historicamente já passamos por diversos sistemas de numeração que evoluíram de acordo com a cultura e necessidade das civilizações.
Alguns exemplos:
E ao longo do tempo foi-se desenvolvendo o sistema de numeração que utilizamos no nosso dia a dia:
O sistema decimal está presente em diversas áreas de conhecimento modernas, contudo, há áreas com necessidades específicas que desenvolveram diferentes sistemas para solucionar problemas, e uma delas é a computação.
É muito provável que você seja bem familiar com o sistema decimal, mas vamos passar aqui um conceito que vai ajudar a entender o binário mais à frente.
Cada casa (ou ordem) de um número decimal tem um peso diferente.
Avançar ou retroceder uma casa, significa multiplicar ou dividir este número por 10.
Cada casa de um número decimal possui 10 possíveis dígitos:
1 2 3 4 5 6 7 8 9 0
Com um número com 1 dígito, temos apenas 10 possíveis variações numéricas.
Agora, com 2 dígitos temos 100 possibilidades diferentes:
00, 01, 02, 03, 04, 05, 06, 07, 08, 09,
10, 11, 12, 13, 14, 15, 16, 17, 18, 19,
20, 21, 22, 23, 24, 25, 26, 27, 28, 29,
30, 31, 32, 33, 34, 35, 36, 37, 38, 39,
40, 41, 42, 43, 44, 45, 46, 47, 48, 49,
50, 51, 52, 53, 54, 55, 56, 57, 58, 59,
60, 61, 62, 63, 64, 65, 66, 67, 68, 69,
70, 71, 72, 73, 74, 75, 76, 77, 78, 79,
80, 81, 82, 83, 84, 85, 86, 87, 88, 89,
90, 91, 92, 93, 94, 95, 96, 97, 98, 99
E o padrão segue: a cada dígito a mais em um número decimal temos a quantidade de combinações anterior vezes 10!
Este conceito é importante pois cada sistema de numeração irá apenas implementar sua própria base, como será com o binário.
A história da computação é marcada por uma necessidade crescente de representar e manipular informações de forma eficiente, dessa forma, sistemas como binário, hexadecimal e octal foram largamente empregados para diversas necessidades específicas.
Um dos fins mais comuns que estes sistemas nos permitem é a entrada de dados e sua representação em texto, ou seja, digitar no teclado:
Conversão Decimal, Binário, Octal, Hexadecimal para ASCII
Baseando-se nesta tabela que muitos computadores compreendem a informação enviada por teclados e outros dispositivos de entrada.
Vamos entender agora o básico de binário para que você possa compreender o meme abaixo e não estar mais no lugar da segunda pessoa.
Como mencionamos antes, binário é um sistema de base 2, logo, para representar informações temos 2 símbolos: 1
(ligado) e 0
(desligado).
É realmente como se fosse uma lâmpada, ou um circuito (o que geralmente é):
Seguindo a lógica da quantidade de dígitos:
Como convenção, utilizamos potências de 2 para representar a progressão em binário, logo:
4 dígitos binários: 2^4 = 16 opções (0000 a 1111)
Agora vamos ver na prática como se realiza esta conversão.
Regras da conversão:
0
em uma posição específica contribuem para o valor total, mas seu valor é zero;Exemplo prático:
Converter para decimal 🤔
0 1 0 1 1 0 0 1
Respectivamente, cada casa deste número tem seu peso (ordem) começando da direita:
0 1 0 1 1 0 0 1 - número
7 6 5 4 3 2 1 0 - ordem
Assim como no sistema decimal, o número de uma ordem específica tem seu valor absoluto:
No número: 1920
, o dígito 9
representa 900
, pois está na ordem das centenas, ou seja: 9 (ele mesmo) x 10 (dezena) x 10 (centena) = 900
.
No binário vamos fazer a potência da ordem para chegar no valor de cada dígito
0 1 0 1 1 0 0 1
2^7 2^6 2^5 2^4 2^3 2^2 2^1 2^0
128 64 32 16 8 4 2 1
Contudo, devemos lembrar que o dígito 0
(zero) significa desligado, dessa forma vamos cumprir uma das regras citadas anteriormente: o dígito 0
não possui valor.
Assim obtemos o seguinte resultado:
0 1 0 1 1 0 0 1
2^7 2^6 2^5 2^4 2^3 2^2 2^1 2^0
0 64 0 16 8 0 0 1 = 89
Por fim basta somar os números resultantes para obter o número decimal convertido com sucesso.
Este método é um pouco trabalhoso se feito à mão, mas é garantidamente uma das melhores formas de compreender sistemas de numeração e compreender de fato o binário para aplicações futuras em tecnologia.
Para converter um número decimal em binário é bem mais simples.
O processo de conversão aqui é bem mais tranquilo, só precisamos de uma divisão simples do número por 2:
Note que nem sempre a divisão irá terminar com resto zero, o que é comum para este tipo de conversão.
A habilidade de contar em binário é uma aptidão fundamental em diversos domínios, sendo especialmente crucial no universo da programação e lógica digital.
Compreender como os números binários se desdobram é uma peça-chave para programadores, engenheiros e entusiastas da tecnologia.
Contar em binário é razoavelmente simples depois que já notamos como funciona a ordem dos dígitos.
Para entender a lógica por trás disso no binário, vamos revisitar o sistema decimal:
Quando uma ordem alcança seu último dígito e ainda sim precisamos incrementar 1 unidade, como seria para passar de 09
para 10
, o que ocorre é a famosa "adição com reserva" ou "reagrupamento", popularmente chamado de "vai um".
Assim nós zeramos a casa das unidades e incrementamos a casa das dezenas, resultando em: 10
.
Em binário temos apenas 2 dígitos de possibilidade, então é muito fácil atingir o limite e precisar fazer o "vai um".
Observe o padrão:
Binario Decimal
0000 0
0001 1
0010 2
0011 3
0100 4
0101 5
0110 6
0111 7
1000 8
1001 9
1010 10
Sim, você chegou na parte onde finalmente entendeu o meme lá de cima. 🎉
Veja também como acontecem nas bases hexadecimal e octal
Pronto, agora você já sabe o básico de sistemas numéricos e binário, mas isso não é tudo!
Olha só o que você desbloqueia com o conhecimento deste post:
Redes de computadores: vários aspectos das redes, desde transporte de dados, organização e configuração de redes envolve conhecimento em binário e hexadecimal;
Robótica e Automação: plataformas como Arduino e Raspberry Pi se utilizam amplamente de sistemas binários e hexadecimal para compor sua lógica de funcionamento;
Segurança: usa-se binário em tópicos como criptografia, algoritmos de hashing, assinaturas digitais, protocolos de segurança, engenharia reversa e outros.
Então não deixe seu conhecimento pegar poeira, desbloqueie mais possibilidades e vá além ⚡️.
Toda Matéria. Sistema de Numeração Decimal. Disponível em: https://www.todamateria.com.br/sistema-de-numeracao-decimal/. Acesso em: 10 jan. 2024.
IFSC - Instituto Federal de Educação, Ciência e Tecnologia de Santa Catarina. AULA 2 - Eletrônica Digital 1 - Graduação. Disponível em: https://wiki.ifsc.edu.br/mediawiki/index.php/AULA_2_-_Eletr%C3%B4nica_Digital_1_-_Gradua%C3%A7%C3%A3o. Acesso em: 10 jan. 2024.
Ciência de Garagem. Como os Sistemas Numéricos Evoluíram ao Longo do Tempo? Disponível em: https://cienciadegaragem.blogspot.com/2014/12/como-os-sistemas-numericos-evoluiram-ao.html. Acesso em: 10 jan. 2024.
Vivah, Linda. Learn How to Read Binary in 5 Minutes. Disponível em: https://medium.com/@LindaVivah/learn-how-to-read-binary-in-5-minutes-dac1feb991e. Acesso em: 10 jan. 2024.
CadCobol. Mecaweb - Conversão Bin/Dec, Dec/Bin. Disponível em: https://www.cadcobol.com.br/mecaweb_conversao_bin_dec_dec_bin.htm. Acesso em: 10 jan. 2024.