Olá, estudante! Os computadores, assim como nós, utilizam sistemas decimais. É por meio desse sistema que as essas máquinas armazenam e localizam o que está alocado na memória. Nesta lição, veremos a representação de dados, os sistemas digitais, o sistema binário e os diversos tipos de códigos de representação. Esses conceitos são importantes para a análise e o desenvolvimento de sistema, por isso, farão parte do seu dia a dia profissional. Vamos conhecer?
Para nós, é bastante confortável acessar uma foto em nosso celular ou notebook, ler um texto, acessar um site ou, mesmo, ouvir uma música. Mas você sabia que, em cada uma dessas ações, o computador ou o dispositivo que você está utilizando está realizando um processamento? Nós estamos vendo dados que foram transformados em informação, isso significa que uma série de 0s e 1s (“zeros e uns”) foram processados para um formato entendível por você. Ficou confuso(a)? Explicarei!
Os computadores e outros dispositivos trabalham por meio de códigos binários, que é uma forma de representação por meio de números que só aceita dois valores, sendo o Zero (0) ou Um (1). O que isso quer dizer? Bom, basicamente, é por meio desses dois números que são construídas todas as formas de diálogo possíveis, como uma foto ou o acesso a um site. Simples assim! Esse seria o sistema mais natural de todos, pois utiliza somente dois dígitos, 0 e 1.
Lembra do nosso exemplo do computador hipotético? Ele continha escaninhos e cada um tinha uma representação (E1, E2, E3, ...). Essa representação servia como um endereço para saber o que existia dentro daquele endereço. O computador, também, trabalha assim, referenciando os dados em endereços, de forma que ele consiga acessar, alterar ou apagar esses dados. A partir de agora, aprenderemos a linguagem dos computadores: a codificação binária!
Você, com certeza, já fez um cálculo por meio de uma calculadora comum ou pela do celular, mas, em algum momento, você já se perguntou como elas realizam as operações matemáticas? Já falamos aqui sobre como essas operações são organizadas. Lembra? O computador funciona com Entrada → Processamento → Saída. Se você notar, praticamente, todas as ações que executamos estão nessa ordem, como comprar um lanche, lavar um carro ou, mesmo, realizar um cálculo. De que forma as instruções são criadas e interpretadas por ela? A resposta está na Álgebra de Boole (ou Booleana). Por exemplo, veja as afirmações:
É verdadeiro que p: Portão está aberto.
É falso que q: Portão está fechado.
Quando afirmamos que é verdade que o Portão está aberto (proposição p), isso pode ser expresso da seguinte forma: VL(p)=V, ou seja, o valor lógico de p é verdadeiro. Quando afirmamos que é falso que o Portão está fechado (proposição q), isso pode ser expresso da seguinte forma: VL(q)=F, ou seja, o valor lógico de q é falso. Percebeu que, na Álgebra Booleana, também, temos valores binários? Nesse caso, V ou F, que poderiam também ser representados por 1 ou 0.
A menor quantidade de informação é considerada, de acordo com Guimarães e Lages (2005), como Binary Digit. Foi desse termo que nasceu a palavra BIT, que é a menor informação possível, sendo representada por um número: 0 ou 1. Se tivermos 8 bits, teremos 1 byte. Agora, você começa a entender como funciona o sistema computacional. Mas como ocorre o processamento do que colocamos como entrada e do que o computador exibe como saída?
Os sistemas de numeração têm como objetivo fornecer símbolos e convenções para representar quantidades, de forma a registrar a informação quantitativa e realizar o seu processamento. Na área da computação, a representação é realizada por meio de números, ou seja, pelo Sistema de Numeração Posicional, porque o valor representado pelo algarismo no número depende, também, da posição em que ele aparece na representação.
Lembre-se disso: tanto os números quanto a posição deles são importantes para o processamento.
Nesse sistema de número posicional, um número é constituído por uma sequência de dígitos, sendo que cada posição de dígito tem um peso associado. O sistema decimal, ou base 10, é um sistema numérico que utilizamos diariamente (0, 1, 2, 3, 4, 5, 6, 7, 8 e 9), no entanto existem vários outros, como o sistema binário (base 2), octal (base 8) etc.
As memórias dos computadores consistem em uma quantidade de “células”, e cada uma dessas pode armazenar uma informação. Cada célula tem um número, que chamamos de endereço, e é nesse endereço em que os programas podem fazer referência ao que está armazenado na memória do computador. A Tabela 1 apresenta a representação binária:
Para entender um pouco melhor, pense em como seria a conversão do número 23 em sistema decimal para o sistema binário. Não esqueça de que a posição da potência é que determina:
(23) = (10111)2
Passo 1: divida 23, sucessivamente, por 2 até que o quociente seja igual a 0:
23/2 = 11, resto = 1
11/2 = 5, resto = 1
5/2 = 2, resto = 1
2/2 = 1, resto = 0
1/2 = 0, resto = 1
Passo 2: leia, de baixo para cima, como 10111. Este é o equivalente binário ao número decimal 23.
O processo de conversão de decimal para binário se dá pela representação do número decimal como uma soma de potências de dois. Podemos fazer isso por meio de divisões sucessivas por 2, até atingir o quociente igual a zero. O resto da última divisão representa o dígito mais à esquerda do número binário, o resto da próxima divisão, o próximo dígito, e assim por diante.
Mas você deve estar se perguntando: estamos falando aqui de números que são transformados em números. E quando eu digito um texto, o computador também o transforma em uma sequência de zeros e uns? A resposta para isso é sim! É exatamente isso que acontece, porém é utilizado de acordo com o sistema de representação, sendo que os mais comuns são:
a. Código de 6 bits – BCD (64 símbolos).
b. Código de 7 bits – ASCII 7 bits (128 símbolos).
c. Código de 8 bits – ASCII 8 bits, EBCDIC (256 símbolos).
d. Código de 16 bits – UNICODE (65.536 símbolos).
Assim, com essa codificação, já estão predeterminadas quais sequências de zeros e uns representam o caracter A, por exemplo. Para ilustrar essa “lógica de codificação”, observe, na figura a seguir, como a letra “A” é representada na tabela UNICODE — código de 16 bits. A tabela completa pode ser consultada no link: https://unicode-table.com/pt/0041/.
O grupo ordenado de 8 bits, conforme já foi dito, constitui 1 Byte, que é uma Unidade de Armazenamento. Os múltiplos do byte em potência 2 são os Kilobyte, Megabyte, Gigabyte, Terabyte etc. A Tabela 2 ilustra algumas dessas grandezas, exibindo suas comparações.
Para aplicar o sistema de numeração binário na Álgebra de Booleana, expresso com intervenções de um circuito na forma de uma operação algébrica, utilizo os valores 1 ou 0 que, também, podem ser utilizados como verdadeiro ou falso, ligado ou desligado, respectivamente. Pelo fato de existirem valores finitos, assim como as condições possíveis na Álgebra Booleana, torna-se possível prever as prováveis saídas, dependendo das variáveis utilizadas na entrada (0 ou 1), perante a análise das condições ou características da operação desejada, construindo, assim, uma tabela-verdade (que você aprenderá na disciplina de Lógica Computacional), na qual são expressos esses valores.
Nesta aula, abordamos como os computadores processam o que digitamos para que ele entenda. As aplicações desse formato estão em todos os lugares: ao abrir ou fechar um portão, ao chamar um elevador, ao ligar ou desligar um interruptor, ao ligar ou desligar um aparelho ou, mesmo, ao acessar uma informação em seu celular.
Tomemos, como exemplo, um conjunto de quatro lâmpadas, em que podemos acender todas, deixá-las apagadas ou acender uma, duas ou três numa ordem. Quantos arranjos de lâmpadas acesas-apagadas poderemos produzir? Isso seria fundamental se gostaríamos de propor uma casa inteligente, que poderia, por exemplo, funcionar por meio de sensores de presença, ou para economizar energia. Podemos utilizar o sinal 1 para acesa e o sinal 0 para apagada, assim, teríamos os seguintes arranjos:
Se analisarmos a tabela, os números em binário são equivalentes aos números em sistema decimal de 0 a 15. Existem 16 possibilidades de sinalização com quatro lâmpadas. Cada um dos dígitos (0 ou 1) é o menor item de dado possível, chamado BIT (Binary digiT), e o conjunto de BITs é chamado BYTE.
GUIMARÃES, A. M; LAGES, N. A. Introdução à Ciência da Computação. Rio de Janeiro: LTC, 2005.
UNICODE. Unicode Tabela de caracteres. [2023]. Disponível em: https://unicode-table.com/pt/. Acesso em: 1 fev. 2023.