Destaques do Blog...

Burlar Protetores de Link Teste de texto

9 de abril de 2011

Sistemas Numéricos - CILP Aula #2

Curso Iniciação em Lógica de Programação - Aula #2
Sistemas Numéricos

Bom... O tema de hoje são os sistemas numéricos. Eles são de fundamental importância para a Lógica de Programação, pois, diversas vezes em algoritmos, seremos deparados com informações em hexadecimal e binário, além do já comum decimal.

Para começar, podemos entender o Sistema Hexadecimal.
Esse sistema pode ser identificado pelo índice 16 que fica logo abaixo do numeral propriamente dito, como no exemplo: 15616
Outro detalhe importante nesse sistema é a sua numeração, que vai de 0 até F, representando respectivamente, de 0 a 15 em decimal.
Para converter um número em hexadecimal para decimal é bastante simples.
Primeiro, deve-se escrever o numero completo, ignorando o índice mesmo.
156
Depois, enumerar os algarismos a partir de zero, da direita para esquerda.
12 51 60
Agora, pegue o cada algarismo, descubra o seu respectivo valor em decimal (no final vai ter uma tabela) e multiplique por 16 elevado a enumeração que lhe foi dada, somando a tudo no final.
(1 * 162) + (5 * 161) + (6 * 160) = 256 + 80 + 6 = 342
15616 = 342
Simples, né?
Agora, vejamos como converter de decimal para hexadecimal.
Pega o número e divide ele por 16.
342 / 16 = 21,375
Agora pega a parte decimal do resultado e multiplica por 16, guardando no resultado
0,375 * 16 = 6
Agora, pega a parte inteira do resultado e divide novamente por 16.
21 / 16 = 1,3125
Repete o passo com a parte 'quebrada'
0,3125 * 16 = 5
Agora, a parte inteira que sobrou não é divisível por 16. Resta então, juntar tudo em um único número, começando pela parte inteira que não pode ser mais dividida até o primeiro resultado de multiplicação por parte decimal. Sendo assim...
342 = 15616

Partimos então para o segundo sistema numérico, os Binários.
Quem mexe com computador sabe que tudo que funciona neles, uma hora vai ser convertido para numeração binária, já que o PC funciona por impulsos elétricos, onde, se passar corrente é 1 e se não passar é 0.
Por isso, é de fundamental importância entender esse tipo de numeração, para assim, se necessário, poder programar em linguagem baixa (o mais próximo de linguagem de máquina).

O Sistema Binário nada mais é do que uma sequência de 0's e 1's. Ele não precisa necessariamente ter o índice 2 no seu numeral, pois, quando é uma cadeia grande, logo de cara se percebe que é binário, principalmente pelo contexto da aplicação.

Para converter binários para decimais, é tão simples como o hexadecimal. O mecanismo é basicamente o mesmo.
11011
Enumera os algarismos a partir do zero, da direita para a esquerda.
1413021110
Agora, multiplicar o valor do algarismo em decimal por 2 elevado a sua enumeração, e somar tudo.
(1 * 24) + (1 * 23) + (0 * 22) + (1 * 21) + (1 * 20) = 16 + 8 + 0 + 2 + 1 = 27
110112 = 27
Agora, para converter de decimal para binário é praticamente igual a hexadecimal também. Pega o numeral decimal, divide sucessivamente por dois, anotando os restos. Quando o valor que sobrar não puder ser mais ser dividido, o seu numero começa a partir dali, da direita para esquerda.
27 / 2 = 13, resto 1
13 / 2 = 6, resto 1
6 / 2 = 3, resto 0
3 / 2 = 1, resto 1
1 não divide mais por 2...
27 = 110112
Simples também, não é?
Agora, como prometido, vou dar uma tabela com os valores dos algarismos. Lembrando que, tanto em hexadecimal quanto em binário, quando os algarismos acabam, faz igual o decimal. Exemplo.
Quando chegamos em 9, nos decimais, o numero seguinte é 10, já que acrescenta +1 na unidade de dezena e recomeça a contar a unidade simples (09 virá 10). Com hexa e binário é igual... Quando chegamos ao limite, no caso F, adicionamos +1 na unidade de dezena e recomeçamos a contar a unidade simples (F vai para 10).

Tabela com números, Clica para aumentar...
E agora, alguns exercícios para vocês treinarem...

Abraços e até a próxima aulinha...
Lucas Amparo

Nenhum comentário: