Binários, Hexa?
Autor: J. Arruda | Publicado: 2011-03-31T09:17:00-03:00


Que informática é inteiramente baseada em números já não deve restar dúvida. A informática foi derivada da lógica matemática, e foi por meio dela que houve a possibilidade de se criar máquinas. Mas até que ponto a matemática que conhecemos chega? Será que não há possibilidade de&nbsp;estender&nbsp;nosso conhecimento sobre números, e aplica-los na informática?
SIM! Os seres humanos sempre tentaram usar os números a seu favor, por isso somos chamados de seres racionais. Desde a descoberta do fogo, passando pela primeira invenção do mundo, a roda, até os dias atuais, em que você pode conversar com uma pessoa que mora a 3000 km de você bastando um toque. A tecnologia depende do conhecimento humano, o conhecimento humano depende da lógica e a lógica depende da matemática. Mas a matemática não se faz apenas dos números que nós, estudantes, conhecemos. Muitas vezes temos que ir além.
O sistema de classificação de capacidade física e lógica na informática é baseado na potência de 2. Existem bits, bytes, kilobytes, megabytes, gibabytes, terabytes... Cada um desses tem uma correlação com o nível anterior, que geralmente vai na ordem de 1024, menos o byte. O bit é a unidade elementar da informática, é considerado a menor unidade de medida. Oito bits formam um byte, que é o caracter (considera-se caracter qualquer elemento que possa compor um texto, seja ele letra, número ou símbolo, e que esteja presente no código ASCII). A partir daí, 1024 bytes formam um kilobyte, 1024 kilobytes formam um megabyte, 1024 megabytes formam um gigabyte, e assim por diante.
Em 1703, na Alemanha, um matemático chamado Gottfried Leibniz elaborou um artigo científico traduzido como "Explicação da Aritmética Binária", em que se desenvolvia operações e cálculos matemáticos apenas com dois números: 0 e 1. Foi considerado o marco inicial do Sistema Binário moderno, pois, pela primeira vez, questionou-se o sistema já tão utilizado e conhecido de 10 algarismos (0, 1, 2, 3, 4, 5, 6, 7, 8 e 9). No começo é bem difícil calcular de cabeça, por exemplo, a soma de dois números binários, mas, se analisar ao fundo, veremos que se trata de um mesmo padrão utilizado na aritmética decimal. Em decimais, um número com um algarismo chama-se unidade, com dois chama-se dezena, com três chama-se centena, e por aí vai. O número de referência para a quantidade de algarismos que um número tem é sempre a base numérica (neste caso, decimal = 10) elevado à posição do último algarismo. Então, partindo-se do pressuposto que a matemática sempre conta como princípio o número 0, temos: 
100 = 1 (unidade);
101 = 10 (dezena);
102 = 100 (centena);
103 = 1000 (milhar)...
No caso dos binários, a base é 2, ou seja, só existem dois&nbsp;algarismos possíveis de se utilizar: 0 e 1. Então, utiliza-se o mesmo padrão de posicionamento:
20&nbsp;= 1;21&nbsp;= 2;22&nbsp;= 4;23&nbsp;= 8...
(Xy Lê-se: X na base Y. Base é o sistema de numeração que se está utilizando. Binários são na base 2, decimais são na base 10, hexadecimais são na base 16, e assim por diante.)No sistema de contagem decimal, temos que os algarismos representam quantas unidades, dezenas, centenas, milhares, etc. temos nas respectivas posições, ou seja:49210 = 400 + 90 + 2 (4 centenas + 9 dezenas + 2 unidades)Já nos binários, temos apenas duas possibilidades de quantidades: ou uma ou nenhuma.&nbsp;Portanto, fica mais fácil para a máquina decidir qual será o resultado final do número. Observando o método formal de formação dos números, temos que:

49210 = 4.102 + 9.101 + 2.100
11012 = 1.23 + 1.22 + 0.21 + 1.20 = 1310

Como na informática, o byte é composto de 8 bits, o bit pode estar ligado ou desligado, temos a comparação com os binários. Um byte (uma cadeia de bits) é um conjunto de 8 números binários, ou seja, as sequências binárias chegam até 8 posições. Assim sendo, o byte tem a capacidade de 28&nbsp;= 256, portanto, podemos contar de 0 até 255 usando um byte. Percebem que, usando um número relativamente grande, nós só consumimos uma mínima parte da capacidade do computador? É esse o objetivo dos binários: simplificar para amplificar.
Aqui vai um bom e interessante exemplo sobre binários. Um desafio: como contar até 32 em apenas uma mão? Um dedo levantado representa 1, e dedo abaixado representa 0. Perceba como é a formação dos números sequenciais:&nbsp;Clique aquiAgora, os hexadecimais. Se números com apenas duas possibilidades já foram meio difíceis de entender, imagina o que tem DEZESSEIS possibilidades! Ora, é o mesmo padrão usado. Mas como, se eu só conheço 10 números, de 0 a 9? Há novos números que eu nunca vi? Na verdade não. Até o número 9, utilizamos os números normais, mas a partir do 9, completamos com letras, de A a F, completando 16 elementos. Assim, correlacionando com decimais, A16 = 1010, B16 = 1110, C16 = 1210, D16 = 1310, E16 = 1410, F16 = 1510 (lembrando que a contagem começa do zero). Como a principal unidade de medida do computador chega até 255, então é de se presumir que um conjunto de Fs (o valor máximo com um único algarismo em hexadecimal) dará este valor em decimal. Mas um conjunto de quantos&nbsp;Fs?
Em binários, chegamos ao valor de 256 elevando a base ao número de posições. Podemos fazer ao contrário para descobrir quantos hexadecimais darão 255 em decimal.

16x = 256
16 = x√256
O único número que ao tirar raiz de 256 dá resultado Inteiro é 2, portanto:
162 = 256

Então, um simples FF já resulta em 255, o máximo que um byte pode alcançar. Usamos os hexadecimais para configurações do computador, principalmente para cores. As cores, no computador, possuem uma codificação hexadecimal, e respeitam o padrão dos bytes. Geralmente, um computador possui 256 cores, para seguir o estabelecimento hexadecimal, mas, ao invés de um byte, são usados três. Como se faz isto? Apenas utilizando três pares de hexadecimais, formando seis algarismos, que ajudam a compor as cores baseado na intensidade de cores fundamentais e que formam todas as cores que existem na tela do computador, televisão e qualquer monitor: Vermelho, Verde e Azul (padrão RGB, em inglês). A intensidade varia de 0 (00) a 255 (FF), podendo passar por quaisquer valores entre eles, exemplo: 0A, 9B, 75, BD, CC, etc... O padrão para definir que um número é hexadecimal é colocar uma hash&nbsp;(#) antes do número: #FF0000 (Vermelho), #FFFF00 (Amarelo), #00FFFF (Ciano), #FFAA00 (Laranja), #FFFFFF (Branco - mistura de todas as cores), #000000 (Preto - ausência de cor).
Qualquer dúvida, só comentar! Até a próxima, pessoal!