Sistemas Numéricos Nos primórdios os homens primitivos não tinham a necessidade de contar, porém este conceito foi se transformando com o decorrer da história, o surgindo a escrita e do comércio nas civilizações mais antigas impulsionaram a necessidade de se trabalhar com números, surgindo os primeiros sistemas de numeração de que se tem notícia. No mundo atual diariamente trabalhamos com números, seja a quantidade de açúcar que colocamos em nosso café da manhã, o quanto estamos atrasados para o trabalho ou ainda quanto dinheiro teremos que deixar para as verduras da feira. Pense, seria possível viver na sociedade atual sem um sistema de numeração? Sistemas Numéricos “Creio que sua resposta é não”. Sendo partidário desta opinião, nos deparamos com a necessidade de dominarmos os sistemas de numeração existentes, facilitando nossos relacionamentos no dia a dia. O número é algo abstrato que representa a idéia de quantidade, expressos através de símbolos previamente acordados. O sistema de numeração é o conjunto desses símbolos, destacando as regras que definem a forma de representação e correlação entre eles. Sistemas Numéricos Em geral, os sistemas de numeração definem dois grupos de regras para representação de quantidade, os sistemas “posicionais” e os “não posicionais”. Nos sistemas “não posicionais” como o sistema de algarismos romanos frequentemente encontrados na atualidade, cada símbolo tem um valor fixo, não importando a posição ocupada no número. Já em “sistemas posicionais”, o valor de cada símbolo é obtido de acordo com a sua posição no número. O sistema decimal amplamente difundido em nossa sociedade baseia-se na posição do símbolo dentro do número para determinar o seu valor. Sistemas Numéricos Base A base em um sistema de numeração determina a quantidade de símbolos disponíveis para utilização. Ex: Base 10 (Decimal) é composto por 10 símbolos (0,1,2,3,4,5,6,7,8,9). Binário Muito utilizado para representar circuitos eletrônicos, visto uma associação natural existente entre seus dois símbolos (0 e 1) com presença ou não de pulsos elétricos no circuito. Em geral, a presença de pulsos é representada pelo elemento 1 e a falta deste, ou um pulso em menor voltagem, ou ainda voltagem negativa são representadas pelo 0. Base 2 - Composto pelos símbolos 0 e 1. Octal A representação com apenas dois símbolos como acontece no sistema binário é trabalhosa, para representar grandes quantidades, necessitados de diversos 0s e 1s. Para facilitar a representação de grandes quantidades, o Sistema Octal é uma alternativa interessante, visto que conseguimos representar qualquer número Binário de 3 dígitos com um único em Octal. Ex: 000 (Binário) = 0 (Octal) 111 (Binário) = 7 (Octal) Base 8 - Composto pelos símbolos 0,1,2,3,4,5,6 e 7. Decimal Sistema de Numeração mais difundido e utilizado pelo homem, possui grande facilidade de manipulação e regras simples de posicionamento de símbolos. Base 10 - Composto pelos símbolos 0,1,2,3,4,5,6,7,8 e 9. Hexadecimal Utilizado com a mesma finalidade do Sistema Octal, facilitar a representação de grande quantidades oriundas do Binário. Porém neste, conseguimos representar números Binários de até 4 dígitos com um único em Hexadecimal. Ex: 0000 (Binário) = 0 (Hexadecimal) 1111 (Binário) = F (Hexadecimal) Base 10 - Composto pelos símbolos 0,1,2,3,4,5,6,7,8, 9,A,B,C,D,E e F. Conversão de Binário/Decimal Para conversão de Binário para Decimal pode ser aplicado o Teorema Fundamental da Numeração (pesquisar). Qualquer número Binário pode ser convertido para Decimal multiplicando-se todos os dígitos binários por 2(n1) e ao final somando os resultados obtidos. (onde “n” é igual a posição do digito no número) Ex: 101 (Binário) = 1x22 + 0x21 + 1x20 = 5 Decimal 1111 (Binário) = 1x23 + 1x22 + 1x21 + 1x20 = 15 Decimal Conversão de Binário/Decimal (Fracionários) Para conversão de Binário fracionário para Decimal também aplicamos o Teorema Fundamental da Numeração. Qualquer número Binário fracionário pode ser convertido para Decimal, separando-se a parte inteira da fração. Para a parte inteira do número, utilizar o método anterior, já para a fração devemos multiplicar todos os dígitos binários por 2(-n) e ao final somando os resultados obtidos. (onde “n” é igual a posição do digito no número após a virgula) Ex: 101,01 (Binário) = 1x22 + 0x21 + 1x20 , 0x2 -1 + 1x2-2 =4+0+1, 0 21 = 5,25 (Decimal) + 1 22 Conversão de Decimal/Binário A conversão do sistema Decimal para o Binário é realizado por sucessivas divisões por 2, ou seja, pegar um número em decimal e dividi-lo sucessivamente por 2 até que o quociente seja igual a 0. O número Binário correspondente é obtido ao coletar todos os restos obtidos nas operações, iniciando-se pelo resto da última divisão até o resto da primeira. Ex: 7 2 1 3 2 1 1 2 1 0 7 (Decimal) = 111 (Binário) 22 2 0 11 2 1 5 2 1 2 2 0 1 2 1 0 22 (Decimal) = 10110 (Binário) Conversão de Decimal/Binário Para conferir se a conversão está correta: 7 (Decimal) = 111 (Binário) 1x22 + 1x21 + 1x 20 => 4 + 2 + 1 = 7 (Decimal) 22 (Decimal) = 10110 (Binário) 1x24 + 0x23 + 1x22 + 1x21 + 0x20 => 16 + 0 + 4 + 2 + 0 = 22 (Decimal) Conversão de Decimal/Binário (Fracionários) Qualquer número Decimal fracionário pode ser convertido para Binário separando-se a parte inteira da fração. Para a parte inteira do número, utilizar o método anterior de divisões sucessivas por 2, já para a fração devemos multiplicar sucessivamente todo o valor fracionário por 2. Quando o resultado atingir o número 1, e a parte do número após a virgula não for nula, separamos esta última e reiniciamos todo o processo, até que a parte após a virgula seja nula. O número Binário correspondente é obtido ao coletar todos os números inteiros obtidos nas operações, do primeiro para o último. Ex: 7,625 (Decimal) Parte Inteira => 7 2 1 3 2 1 1 2 1 0 7 (Decimal) = 111 (Binário) Conversão de Decimal/Binário Parte Fracionária => (Fracionários) 0,625 x 2 1,250 0,250 x 2 0,500 0,625 x 2 1,000 Coletando os inteiros do último para o primeiro temos 101=0,625, agora é só agrupar o resultado da parte inteira com a fracionária, logo temos: 7,625 = 111,101 Conversão de Decimal/Binário (Fracionários) Existirão casos onde o valor após a virgula nunca será nula, deste modo perceberemos que repetitivamente estaremos passando pelos mesmos valores, isso é equivalente a uma dizima periódica. Ex: Converter 0,8 Decimal em Binário. 0,8 x2 1,6 0,4 x2 0,8 0,6 x2 1,2 0,8 x2 1,6 Começou a repetição, a mesma será infinita. 0,2 x2 0,4 Portanto, quando nos deparamos como a repetição que indica uma dizima, podemos parar e aceitar o resultado da seguinte maneira: 0,8 (Decimal) = 0,110011001100... (Binário) Conversão de Octal/Decimal Para conversão de Octal para Decimal pode ser aplicado o Teorema Fundamental da Numeração. Qualquer número Octal pode ser convertido para Decimal multiplicando-se todos os seus dígitos por 8(n-1), somando ao final os resultados obtidos. (onde “n” é igual a posição do digito no número) Ex: 66 (Octal) = 6x81 + 6x80 => 48 + 6 = 54 Decimal 123 (Octal) = 1x82 + 2x81 + 3x80 => 64 + 16 + 3 = 83 Decimal Obs- Para números fracionários, multiplicar cada digito da parte fracionária por 8 (-n) , conforme visto na conversão de Binário fracionário para Decimal. Conversão de Decimal/Octal A conversão do sistema Decimal para o Octal é realizado por sucessivas divisões por 8, ou seja, pegar um número em decimal e dividi-lo sucessivamente por 8 até que o quociente seja igual a 0. O número Octal correspondente é obtido ao coletar todos os restos obtidos nas operações, iniciando-se pelo resto da última divisão até o resto da primeira. Ex: 125 8 5 15 8 7 1 8 1 0 125 (Decimal) = 175 (Octal) 725 8 5 90 8 2 11 8 3 1 8 1 0 725 (Decimal) = 1325 (Octal) Conversão de Hexadecimal/Decimal Para conversão de Hexadecimal para Decimal também podemos aplicar o Teorema Fundamental da Numeração (pesquisar). Qualquer número Hexadecimal pode ser convertido para Decimal multiplicando-se todos os seus dígitos por 16(n-1), somando ao final os resultados obtidos. (onde “n” é igual a posição do digito no número) BABA (Hexa) = Bx163 + Ax162 + Bx161 + Ax160 => 11x4096 + 10x256 + 11x16 + 10x1 => 45056 + 2560 + 176 + 10 = 47802 (Decimal) 25 (Hexa) = 2x161 + 5x160 => 32 + 5 = 37 (Decimal) Obs- Para números fracionários, multiplicar cada digito da parte fracionária por 16(-n) , conforme visto na conversão de Binário fracionário para Decimal. Conversão de Decimal/Hexadecimal A conversão do sistema Decimal para o Hexa é idêntico ao processo realizado de Binário e Octal para Decimal, porém as sucessivas divisões são por 16. Neste, além de coletar todos os restos obtidos nas operações, iniciando-se pelo resto da última divisão até o resto da primeira, os restos com valores entre 10 e 15 deverão ser convertidos da seguinte maneira: 10=A, 11=B, 12=C, 13=D, 14=E, 15=F. 140 12 16 8 8 16 0 140 (Decimal) = 8C (Hexal) 1547 16 11 96 8 0 6 6 8 0 1547 (Decimal) =60B (Hexa) Conversão de Binário/Hexa Como sabemos, o sistema Hexadecimal procura facilitar a representação de grandes quantidades em binário. Para cada 4 dígitos Binários temos um único Hexa. Devido a relação citada, a conversão de Binário para Hexa é simples e rápida, basta separar o número Binário de quatro em quatro dígitos, começando do dígito menos significativo. Após a separação, cada dígito terá seu equivalente em Hexa de acordo com a tabela ao lado: Ex: 11010011001101 (Binário) => 11 - 0100 - 1100 - 1101 => 3 – 4 – C – D 11010011001101 (Binário) = 34CD (Hexa) Binário Hexa 0000 0 0001 1 0010 2 0011 3 0100 4 0101 5 0110 6 0111 7 1000 8 1001 9 1010 A 1011 B 1100 C 1101 D 1110 E 1111 F Conversão de Hexadecimal/Binário Visto a relação existente entre os sistemas, basta utilizar a tabela anterior para conversão de qualquer Hexadecimal em Binário, lembrando-se de que para cada dígito Hexa, teremos 4 em Binário. 7B (Hexa) => 7 = 0111 e B = 1011, logo: 7B (Hexa) = 1111011 (Binário) 66C (Hexa) => 6 = 0110 e C = 1100, logo: 66C (Hexa) = 11001101100 (Binário) Obs – Este método de conversão é válido também para conversões entre Binário e Octal, atentar-se apenas ao fato da tabela ir de “0” até o número “7” ao invés do “F” do Hexadecimal. Exercícios 1) Converter o número Binário 100011 para Decimal. 2) Qual o valor do número Binário 101001 em Hexadecimal? 3) O número 0x600 equivale a qual número em Decimal? 4) Quanto vale o número 30 Decimal em Octal? 5) Converter 64202 base 10 em Hexadecimal. Obs- Utilizar a calculadora apenas para conferir os resultados, os métodos de conversão apresentados devem compor sua resposta. Respostas (Exercício 1) 1- Passo um, utilizar o Teorema Fundamental da Numeração, multiplicando todos os dígitos Binários por 2(n-1), onde n é igual a posição do dígito dentro do número: 100011 (Binário) = 1x25, 0x24, 0x23, 0x22, 1x21 e 1x20 => 32, 0, 0, 0, 2 e 1 2- Passo dois, somar a seqüência de números obtida: 32 + 0 + 0 + 0 + 2 + 1 = 35 (Decimal) Resposta = O Binário 100011 é igual ao Decimal 35. Respostas (Exercício 2) 1- Passo um, quebrar o número Binário de quatro em quatro dígitos, começando do dígito menos significativo: 101001 => 0010 - 1001 2- Passo dois, utilizar a tabela para converter grupos de 4 Binários em Hexadecimal: 0010 (Binário) = 2 (Hexa) 1001 (Binário) = 9 (Hexa) 3- Passo três, agrupar os números obtidos: 29 Resposta = O Binário 101001 é igual ao Hexadecimal 29. Respostas (Exercício 3) 1- Passo um, utilizar o Teorema Fundamental da Numeração, multiplicando todos os dígitos Binários por 2(n-1) , onde n é igual a posição do dígito dentro do número: 600 (Hexa) = 6x162, 0x161 e 0x160 => 1536, 0 e 0. 2- Passo dois, somar a seqüência de números obtida: 1536 + 0 + 0 = 1536 (Decimal) Resposta = O Hexadecimal 600 é igual ao Decimal 1536. Respostas (Exercício 4) 1- Passo um, dividir sucessivamente o número Decimal por 8, até que o quociente seja igual a 0: 30 8 6 3 8 3 0 2- Passo dois, agrupar os números obtidos: 36 Resposta = O Decimal 30 é igual ao Octal 36. Respostas (Exercício 5) 1- Passo um, dividir sucessivamente o número Decimal por 16, até que o dividendo seja menor que 16: 16 64202 10 4012 16 12 250 16 10 15 16 15 0 2- Passo dois, coletar os resultados começando pelo resto da última divisão até o resto da primeira: 15, 10, 12 e 10 3- Converter os dígitos entre 10 e 15 para suas respectivas letras em Hexadecimal: 15=F, 10=A e 12=C. 4- Agrupar os números obtidos: FACA Resposta = O Decimal 64202 é igual ao Hexadecimal FACA.