Olá, aluno(a)! Nesta lição, continuaremos entendendo como o computador processa e “entende” as informações que passamos para ele. Os sistemas de numeração são fundamentais para isso. Nós, na maioria das vezes, utilizamos o sistema decimal (0 a 9) ou de base 10. Conhecer outras formas de produzir informação é fundamental para entendermos o funcionamento do mundo digital, afinal, as aplicações em muitos casos poderão utilizar sistemas para produzir, alocar ou buscar os bits e bytes. Vamos conhecê-los!
Você já deve ter lido ou assistido vídeos que apresentam o conceito de Smart (Smart House, Smart Cities ou Smart Farms). São casas, cidades, fazendas, carros, indústrias e negócios que utilizam a Internet das Coisas ou IoT (Internet of Things). Isso significa que vários componentes de uma casa, por exemplo, lâmpadas, ar condicionado, televisores, portões, estão conectados a dispositivos digitais para troca de dados e aprendizado de alguma Inteligência Artificial. Acontece que para ocorrer essa troca de dados e o aprendizado é necessário que as informações e interações realizadas por esses dispositivos sejam no meio digital que os computadores entendem e para isso precisamos muito dos sistemas de numeração. A partir disso, com o passar do tempo, os dispositivos smart poderão já prever a temperatura que você costuma ter na casa de acordo com a época do ano, a música que te agrada, o grau de luminosidade da sua lâmpada do quarto e por aí vai. Portanto, veja como este nosso tema é importante, pois, a cada dia, essas tecnologias estão ainda mais próximas de todos nós.
Até onde as aplicações digitais podem ir? Como dominar esse conhecimento sobre armazenamento de dados pode impactar na vida e nos negócios? Nos últimos anos, muitas aplicações para tratar problemas reais têm sido desenvolvidas e isso tem proporcionado melhorias para vários tipos de negócio. Conforme vimos há algumas lições, grandes nomes da computação iniciaram sua jornada em suas próprias casas, pensando em problemas do dia a dia e, por fim, apresentaram ao mundo uma solução que alterou o que todo mundo até então conhecia. Saber como um computador processa as informações e as armazena é fundamental para que você construa boas soluções. Contudo, lembre-se que saber construir não basta, é preciso resolver uma dor por meio da solução que você apresenta.
Em um evento internacional, foi apresentada uma empresa americana que tinha como principal produto armazenar os dados de empresas na nuvem (para que estes estejam armazenados e disponíveis para consulta ou processamento em qualquer lugar que for preciso, basta ter acesso à internet). Essa empresa pensou, então, em ampliar os seus serviços para criar uma solução de monitoramento da saúde de animais de rebanho. Para isso, eles criaram etiquetas que eram colocadas nos animais e, assim, conseguem processar os dados corporais de cada rebanho. Além de conseguir saber onde cada animal está, isso tornou possível saber e coletar informações da saúde deles.
No entanto, pense na possibilidade de colocar essas etiquetas em milhões de animais e monitorá-los. Já imaginou a quantidade de dados gerada todos os dias? Isso exige uma excelente escolha no serviço de nuvem, mas também conhecimento para armazenar os dados e enviar por meio de pacotes. Esse exemplo é apenas um dentre os vários serviços que estarão cada dia mais próximos de nós. A cada dia, mais dispositivos físicos estarão conectados a dispositivos com internet para gerar informações por meio dos dados que as pessoas geram ou que são coletados do ambiente.
Na lição anterior, já vimos um pouco sobre a conversão dos números decimais para o sistema binário. Vimos, portanto, a formação da base da computação, que é o Bit. O Sistema de Numeração Decimal que aprendemos na escola é composto por símbolos ou dígitos que utilizamos para representar a quantidade que queremos: 0,1,2,3,4,5,6,7,8,9.
Assim, 1967, por exemplo, deve ser lido:
1000 ou 1 X 1000 +
900 ou 9 X 100
Ou ainda: 1967 = 1 X 10³ + 9 X 10² + 6 X 10¹ + 7 X 10º
60 6 X 10
7 7 X 1
A partir disso, Guimarães e Lages (2005) ampliam o nosso conhecimento em relação a esses sistemas de numeração. Por exemplo, como poderíamos converter números fracionários para o sistema binário? É possível, veja a seguir:
Para trabalhar com números fracionários, a conversão se fará em duas etapas distintas: primeiro a parte inteira e depois a parte fracionária. Para a parte fracionária, consiste de uma série de multiplicações sucessivas do número fracionário a ser convertido pela base; a parte inteira do resultado da primeira multiplicação será o valor da primeira casa fracionária e a parte fracionária será de novo multiplicada pela base; e assim por diante, até o resultado dar zero ou até encontrarmos o número de casas decimais desejado. Por exemplo, vamos converter 4,25 na base decimal (100 para a base 2, com 2 algarismos fracionários):
A parte inteira, você já conhece:
O algarismo 4 seria: 100
A parte decimal poderia ser obtida assim:
0,25 X 2 = 0,5
0,5 X 2 = 1
Então, a parte decimal seria 0,01 para duas casas decimais.
Já o sistema hexadecimal utiliza 16 dígitos, que são: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F. Para facilitar, veja a tabela a seguir com os dígitos no sistema decimal, binário e hexadecimal. Tenho certeza que vai te ajudar a entender melhor:
O sistema Octal funciona a partir do conjunto de três bits. O sistema, portanto, utiliza 8 dígitos (0, 1, 2, 3, 4, 5, 6, 7), assim, podemos corresponder com os outros sistemas:
Assim, foi possível conhecermos quatro (4) sistemas de numeração - decimal (o que aprendemos na escola), o binário, o hexadecimal e o octal. Perceba que todos eles utilizam os algarismos arábicos para representação, com exceção do hexadecimal que utiliza também letras do alfabeto.
Você já sabe que os dispositivos digitais utilizam o sistema binário. Então, qual o motivo da existência de outros sistemas de numeração? Imagine que você queira fazer uma aplicação mais simples, você tem um sistema compacto que é o octal. Utilizando apenas 8 símbolos você consegue representar qualquer outra informação, uma vez que ele também utiliza, assim como os outros, o sistema posicional. Dessa maneira, pense em um binário com 12 dígitos. Ele poderia ser exibido em 4 partes com 3 bits cada uma no sistema octal. Isso compactaria a nossa informação.
Os hexadecimais também têm uma importância interessante. Também são posicionais e trabalham com a base 16. Isso te faz lembrar alguma coisa? Quantos 1s ou 0s eu preciso para ter um byte? Se você falou 8, acertou! Então, 16 é um múltiplo de 8, o que nos faz pensar na grande utilização que este tipo de sistema pode ter, pois compacta ainda mais os números binários (em vez de ter uma representação com 16 dígitos, você poderia ter apenas 2). Assim, ele é muito utilizado em displays, impressões e programação.
GUIMARÃES, A. M.; LAGES, N. A. Introdução à Ciência da Computação. Rio de Janeiro: LTC, 2005.