Sistemas de Numeração 1 – Introdução I t d ã aos sistemas i t numeração ã Sistemas de Numeração ç Base Decimal Base Binária Base Octal Base Hexadecimal Base D Decimal l\Base Binária\Base Oct tal\ Base He exadecimal Sistemas de numeração ç Os números podem ter uma representação simbólica, como no sistema romano, ou terem um peso de acordo com a posição que ocupam, como no sistema árabe, que usamos normalmente. Porque anatomicamente os seres humanos dispõem de 5 dedos, em cada mão, torna-se natural que a contagem envolva 10 símbolos ou dígitos, ou seja, um sistema de numeração ã com uma base b d dez Binária\Base Oct tal\ Base He exadecimal Base D Decimal l\Base Cada um dos símbolos de 0 a 9 representa uma certa quantidade. Com este dez dígitos, podemos representar, utilizando dois ou mais dígitos, qualquer grandeza superior a nove. A posição de cada dígito no número diz-nos que grandeza representa. p Se, por exemplo, pretendemos representar a grandeza 53 53, usamos o dígito 5 para representar a quantidade cinquenta e o dígito 3 para representar a quantidade três três. Binária\Base Oct tal\ Base He exadecimal Base D Decimal l\Base A posição de cada dígito num número decimal indica a amplitude da quantidade representada e pode ser designada por PESO. Os pesos são potências de 10 e aumentam da direita para a esquerda, esquerda iniciando-se iniciando se em 100 = 1. 1 Binária\Base Oct tal\ Base He exadecimal Base D Decimal l\Base O número decimal 286 pode representar-se numa expressão polinomial como se indica: polinomial, 200 = 2 *102 80 = 8 *101 6 = 6 *10 100 286 = 2*102 + 8*101 + 6*100 = N(10) Base D Decimal l\Base Binária\Base Oct tal\ Base He exadecimal No caso do número 12696 (10) é constituído pela combinação de 5 algarismos. O primeiro seis (mais à direita) não tem o mesmo valor do segundo seis, seis o que nos demonstra que o valor do algarismo está relacionado directamente com a posição que ocupa Demonstre como é obtido o número 12696 (10) Base D Decimal l\Base Binária\Base Oct tal\ Base He exadecimal Resolução: (Alternativa 1) 6 --- 6* 101-1 = 6 *1 6 9 --- 9* 102-1 = 9 *10 90 6 --- 6* 103-1 = 6 *100 600 2 --- 22* 104-1 = 2 *1000 1000 2000 1 --- 1* 105-1 = 1 *10000 10000 + 12696 696 (10) Base D Decimal l\Base Binária\Base Oct tal\ Base He exadecimal Resolução: (Alternativa 2) Peso:(5) Número: 1 (4) (3) (2) (1) 2 6 9 6(10) = 1*105-1 + 2*104-1 + 6*103-1 + 9*102-1 + 6*101-1 = = 1*104 + 2*103 + 6*102 + 9*101 + 6*100 = = 1*10000 + 2*1000 + 6*100 + 9*10 + 6*1 = = 12696(10) Binária\Base Oct tal\ Base He exadecimal Base D Decimal l\Base O valor mais à direita e o menos significativo ( LSD – Least Significant Digit) e tem peso 1. O valor mais à esquerda é o mais significativo ( MSD – Most Significant Di it) e tem Digit) t peso do d número ú d dígitos de dí it que constitui o algarismo. q g Base D Decimal l\Base Binária\Base Oct tal\ Base He exadecimal Exemplo: Para um número inteiro 198710 = 1*103 + 9 *102 + 8*101 + 7*100 Em relação ao seu peso: 1987 1987 100 101 102 103 1 10 100 1000 MSD LSD Base D Decimal l\Base Binária\Base Oct tal\ Base He exadecimal Exemplo: Para um número fraccionário 1987,6510 = 1*103 + 9 *102 + 8*101 + 7*100 + 6*10 -1 + 5*10-2 Em relação ao seu peso: 1987,65 100 101 102 103 10-2 10-1 1 10 100 1000 0,01 0,1 Binária\Base Oct tal\ Base He exadecimal Base D Decimal l\Base 1987,65 MSD LSD O dígito mais à direita na parte fraccionária de número é o LSD – Menos significante dígito O dígito mais à esquerda na parte fraccionária de número é o MSD – Mais significante dígito Base Decimal\ Base Binári ia\Base Octal\ Base Hex xadecimal Sistema Binário Tal como o sistema decimal, trata-se de um sistema pesado, isto é, onde cada dígito comparticipa p p na formação ç do número com um peso, determinado pela posição que ocupa no número. ú eo A diferença é que agora apenas existem dois dígitos: o 0 e o 1. Os dígitos nos números binários são vulgarmente chamados de bits (Binary Digits). Ao agrupamento de oito bits chama-se h B t Byte Octal\ Base Hex xadecimal Base Binári ia\Base Base Decimal\ Para melhor percebemos a formação dos números neste sistema vejamos previamente como se efectua a contagem em decimal: C Começamos em 0 e contamos d de fforma crescente até 9; então recomeçamos, agora com um 1 à esquerda, e obtemos o 10, 11 … até 99. Esgotadas que estão todas as combinações com dois dígitos dígitos, torna-se necessário um terceiro, para se efectuar a contagem t de d 100 a 999 e assim i por di diante t Octal\ Base Hex xadecimal Base Binári ia\Base Base Decimal\ Uma situação análoga acontece neste sistema binário. IIniciamos i i a contagem t 0 1 Como 0,1. C se esgotaram t os dígitos dí it únicos, inclui-se um segundo dígito (à esquerda) e continua-se a contar 10, 11. Como se esgotaram as combinações possíveis com dois dígitos g necessitamos de um terceiro. A contagem g continua, 100, 101, 110 e 111. Necessitaríamos N it í agora de d um quarto t dígito dí it para continuar ti a contagem e assim sucessivamente Octal\ Base Hex xadecimal Base Binári ia\Base Base Decimal\ Uma maneira fácil de recordarmos o modo de escrever uma sequencia de números em binário, por exemplo, para cinco dígitos, é a seguinte: 1 – A posição mais à direita do número começa com um zero e muda por cada número 2 – A posição seguinte começa com dois zeros e muda por cada dois números. números 3 – A posição seguinte começa com quatro zeros e muda por cada quatro números. q 4 – A posição seguinte começa com oito zeros e muda por cada oito números. 5 – A posição i ã seguinte i t começa com d dezasseis i zeros e muda d por cada d dezasseis números. Base Binári ia\Base Base Decimal\ Octal\ Base Hex xadecimal Exercícios Construa a tabela binária até 50 Base Decimal\ Base Binári ia\Base Octal\ Base Hex xadecimal Conversão binário decimal Para exprimirmos no seu equivalente decimal uma determinada grandeza binária basta multiplicar cada bit pelo seu binária, peso e adicionar os respectivos produtos. O bit da direita é o menos significativo (LSD) e tem um peso de 20 = 1 para os números inteiros, aumentando o peso da direita para a esquerda, em potências de dois por cada bit. Octal\ Base Hex xadecimal Base Binári ia\Base Base Decimal\ Converter o número binário 110101 em decimal. Peso Binário 25 24 23 22 21 Valor do Peso 32 16 8 4 20 2 1 Número Binário 1 1 0 1 0 =1 *32 + 1*16 + 0*8 + 1*4 + 0*2 + 1*1 = =32 32 + 16 + 0 + 4 + 0 +1 1= =5310 1 Base Decimal\ Base Binári ia\Base Octal\ Base Hex xadecimal Converter o número binário 100101,11 em decimal. 100101,112 = 1*25 + 0*24 + 0*23 + 1*22 + 0*21 + 1*20 + 1*2-11 + 1*2-22 Em relação ao seu peso: 100101,11 2-2 = 0,25 , 2-1 = 0,5 21 = 2 23= 8 25 = 32 20 = 1 22 = 4 24 = 16 Base Decimal\ Base Binári ia\Base Octal\ Base Hex xadecimal Um valor frequentemente utilizado em binário é o 1024. 1024 Trata Trata-se se de 210 , que, por ser o valor mais próximo de 1000, foi designado por K (Kilo). Assim 1 Kbit = 1024 bits. bits Sistema Octal Base Decimal\ Base Binári ia\Base Octal\ Base Hex xadecimal Na base octal octal, cada dígito equivale a um número com 3 dígitos. A base octal utiliza oito algarismos ou dígitos: 0,1,2,3,4,5,6,7 10,11,12,13,14,15,16, 10 11 12 13 14 15 16 17 Neste sistema também se diz que cada dígito tem um valor posicional Para obtermos o equivalente decimal do número 1234 na base octal temos que executar as seguintes operações: 12348 = 1*83 + 2*82 + 3*81 + 4*80 Em relação ao seu peso: 1234 80 81 82 83 1 8 64 512 P Para um número ú ffraccionário i ái 1234 568 = 1 1234,56 1*8 83 + 2 *8 82 + 3 3*8 81 + 4 4*8 80 + 5 5*8 8 -1 + 6 6*8 8-2 Em relação ç ao seu peso: p 1234,56 80 81 82 83 0,015625 8-2 8-1 0,125 1 8 64 512 Exemplo: Converter o número 43701(8) em decimal. Peso:(5) Número: 4 (4) (3) (2) (1) 3 7 0 1(8) = 4*85-1 + 3*84-1 + 7*83-1 + 0*82-1 + 1*81-1 = = 4*84 + 3*83 + 7*82 + 0*81 + 1*80 = = 16384 + 1536 + 448 + 0 + 1 = = 18369(10) Sistema Hexadecimal A base hexadecimal tem mais vantagens que a octal, pois representa um número com grande quantidade tid d d de bit bits, numa fforma simples i l e reduzida, por exemplo: O número binário 1001110100110110(2) = 9D36(16) A letra “D” não é engano do Professor Como a base hexadecimal é formada p por 16 elementos e como a base decimal só possui até 10 elementos, elementos os restantes 6 elementos são representados pelas 6 primeiras letras do nosso alfabeto lf b t (A, (A B, B C, C D, D E, E F). F) E como se conta em Hexadecimal depois de se alcançar o F? Do mesmo modo que nos outros sistemas estudados, iniciamos a nova coluna em: 10,11,12,13,14,15,16, 17, 18, 19, 1A, 1B, 1C, 1D, 1E, 1F 20,21,22,23,24,25,26,27,28,29,2A,2B,2C,2D,2E,2F Exemplo: Converter o número 9D36(16) em decimal Peso:(4) (3) (2) (1) Número: 9 D 3 6(16) = 9*164-1 + 13*163-1 + 3*162-1 + 6*161-1 = = 9*163 + 13*162 + 3*161 + 6*160 = = 36864 + 3328 + 48 + 6 = = 40246(10) Para obtermos o equivalente decimal do número 1234 na base hexadecimal temos que executar as seguintes operações: 123416 = 1*163 + 2*162 + 3*161 + 4*160 1234 160 161 162 163 1 16 256 4096 P Para um número ú ffraccionário i ái 1234 5616 = 1 1234,56 1*16 163 + 2 *16 162 + 3 3*16 161 + 4 4*16 160 + 5 5*16 16 -1 + 6 6*16 16-2 Em relação ç ao seu peso: p 1234,56 160 161 162 163 16-2 16-1 1 16 256 4096 0,003926525 0,0625 Após termos feito uma apresentação destas quatro bases de numeração e a respectiva conversão de cada base para decimal decimal, apresentamos uma tabela com a equivalência entre as quatro bases de numeração Até este p ponto,, estivemos a analisar a conversão das q quatro bases para a base decimal, mas é possível fazer a conversão inversa, inversa da base decimal para cada uma das outras três bases, e directa entre as restantes bases. Binária Decimal Octal Hexadecimal Conversão binária – hexadecimal e vice versa vice-versa O método utilizado aproveita o princípio de que para escrever um dígito em hexadecimal chegam 4 dígitos em binário (4 bit), dada a relação entre as bases respectivas ser a potência de 4, isto é, 16 = 2 4. Por exemplo exemplo, dado o número 1101101(2), podemos efectuar a seguinte conversão: 1101 0110 (4 1) + 1*2(3-1) (3 1) + 0*2(2-1) (2 1) + 1*2(1(1 1*2(4-1) 1) = 1*23 + 1*22 + 0*21 + 1*20 = 13 (D) (4-1) 1) + 1*2(3 (3-1) 1) + 1*2(2 (2-1) 1) + 0*2(1 (10*2(4 1) = 0*23 + 1*22 + 1*21 + 0*20 =6 =6D Fazendo a operação inversa, partindo do número, na base hexadecimal, 24A8(16) 2 4 A 8 Hexadecimal 1000 1010 0100 0010 Binário 24A8 (16) = 10010010101000(2) Conversão octal – hexadecimal e viceversa O método ét d que vamos utilizar tili é a conversão ã da base octal para binário e de seguida da base binária para a hexadecimal No caso do número 1726(8), vamos separar cada dígito 1 7 2 6 Octal 110 010 111 001 Binário 1726 (8) = 1111010110(2) O segundo passo é realizar a conversão de binário para hexadecimal. O processo utilizado é o agrupamento de 4 dígitos e fazer a correspondência a cada conjunto de 4 bit o valor em hexadecimal. 0011 1101 0110 3 D 6 binário hexadecimal