Sistemas de Numeração Prof. Luiz Marcelo Chiesse da Silva SISTEMAS DE NUMERAÇÃO 1. INTRODUÇÃO Quando mencionamos sistemas de numeração estamos nos referindo à utilização de um sistema para representar uma numeração, ou seja, uma quantidade. Sistematizar algo seria organizar, colocar em ordem, submeter à determinadas regras. Um sistema de numeração seria uma forma de organizar a representação de um número. Exemplo: Quando contamos algo ou expressamos algum valor, utilizamos no dia a dia um sistema de numeração, que é o sistema decimal. Para isto seguimos a organização dos números, pois eles obedecem à uma certa ordem, e uma das regras é utilizar somente os caracteres 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 combinados, obedecendo à ordenação, para formar dos números. Mas existem inúmeros sistemas de numeração, pois existem diversas formas de se representar um número. Um chinês que tem dois carros, para transmitir a informação de que o número de carros que ele possui é dois, se expressa de um modo diferente de um americano que tenha os mesmos dois carros mas as formas que ambos utilizam para representar a quantidade de carros tem pontos em comum: são dois sistemas de numeração. O exemplo de um sistema de numeração diferente seria utilizar os seguintes caracteres: 0, 1, 2, 3, C, %,} para representar os números. Ordenando estes caracteres do mesmo modo que o sistema decimal, a contagem neste sistema seria feita na seguinte ordem: 1, 2, 3, C, %, }, 10, 11, 12, 13, 1C, 1%..... O equivalente ao número 10 no sistema decimal seria representado pelo número 13 neste sistema, o número 11 seria 1C, assim por diante. A representação de um número em um sistema de numeração diferente muda, para um mesmo valor, assim como as operações com números nestes novos sistemas podem ser readequadas. Estas diferenças entre os sistemas de numeração são utilizadas como ferramenta de cálculo e projeto em diversas áreas, como a computação. Quando desejamos registrar um valor de tensão igual a trinta e quatro vírgula cinquenta e dois volts, usamos os caracteres 3, 4, 5, e 2 dispostos numa certa ordem: 34,52 volts. Esta representação é conhecida como notação posicional do valor observado, onde a importância de cada caracter depende da sua posição em relação aos demais caracteres. Os caracteres tem maior significação no sentido da direita para a esquerda. No caso, os caracteres 3 e 2 são, respectivamente, o de maior e menor significação. 1.1. Base Os sistemas de numeração foram criados pelo homem com o objetivo de quantificar as grandezas relacionadas às suas observações. Tais sistemas foram desenvolvidos através de símbolos, caracteres e do estabelecimento de regras para a sua representação gráfica. Ao conjunto destes símbolos ou caracteres chamamos de base ou raiz do sistema, “r”. A base de um sistema de numeração é o número decimal no qual um sistema de numeração se utiliza para indicar uma quantidade e geralmente é o número de caracteres diferentes utilizados para compor o sistema. O sistema decimal é dito de base 10 por utilizar somente 10 caracteres diferentes para representar os números (os dígitos de 0 à 9) e a quantidade real representada pelos números tem como base o valor 10. Por exemplo, na contagem do sistema decimal, após o número 9, já utilizamos todos os caracteres diferentes disponíveis, que são 10 (observe que o caractere “0” também está incluído) e um número maior que 9 é representado utilizando uma convenção que atribui um significado numérico quantitativo à posição ou lugar ocupado por um dígito. Cada posição ocupada por um caractere no número possui um “peso” diferente, como no exemplo abaixo: 3004 = 3 x 103 + 0 x 102 + 0 x 101 + 4 x 100 Cefet/PR – Cornélio Procópio 1 Sistemas de Numeração Prof. Luiz Marcelo Chiesse da Silva O mesmo artíficio é utilizado em outros sistemas de numeração, ou seja, cada caractere que compoe um número possui um “peso” de potências do valor da base e que variam de acordo com a posição ocupada pelo caractere no número, no caso do sistema decimal, potências de 10. Do exemplo exposto anteriormente (com o sistema 0, 1, 2, 3, C, %, }), o valor da base é 7 porque 0, 1, 2, 3, C, % , } são um conjunto de 7 caracteres diferentes que posso utilizar para compor um número neste sistema e a quantidade que os números representam são expressas com base no valor 7. O número 31}C representa uma quantidade igual à que número no sistema decimal? 31}C = 3 x 73 + 1 x 72 + } x 71 + C x 70 como 3 = 310 no sistema decimal, 1 = 110, } = 610, C = 410, concluímos: 31}C = 3 x 73 + 1 x 72 + 6 x 71 + 4 x 70 31}C = 1.12410 De acordo com o interesse do estudo em controle de máquinas e pela utilidade em diversas áreas, daremos ênfase ao sistema de numeração binário (base 2). Obs.: Quando utilizamos sistemas de numeração diferentes, procura-se adotar uma convenção para a indentificação de números com bases de numeração diferentes. Exemplo: 111002 = 2810 → o número 11100 no sistema de base 2 é igual ao número 28 no sistema decimal. 2. O SISTEMA DECIMAL DE NUMERAÇÃO Os números decimais são os mais utilizados atualmente, de nosso conhecimento. Uma representação posicional no sistema decimal pode ser desenvolvida numa forma polinomial que envolve um somatório de potências de 10. Como exemplo, o número três mil e quatro: 3004 = 3 x 103 + 0 x 102 + 0 x 101 + 4 x 100 É comum utilizarmos como índice, à direita do dígito menos significativo na representação posicional, para identificar a base de representação. No caso da base decimal, este índice pode ser omitido. Os circuitos ditos analógicos processam informações usando o sistema decimal. 3. O SISTEMA BINÁRIO DE NUMERAÇÃO O sistema de numeração de base 2 é chamado de sistema binário (dois), pois utiliza somente dois dígitos: 0 e 1. Todos os números são representados conforme o posicionamento e a quantidade destes dois dígitos. A contagem segue o mesmo raciocínio utilizado no sistema decimal: após o último dígito, incrementa-se uma posição à esquerda e a posição à direita é zerada, repetindo-se toda a sequência de números anterior: 1, 10, 11, 100, 101, 110,..... Os números acima geralmente são chamados de números binários. Para evitar confusão com o sistema de numeração decimal, lemos dígito por dígito no sistema binário: 10=hum,zero; 1101=hum,hum,zero,hum. Podemos expressar um número fracionário no sistema binário, utilizando a vírgula binária: 1,1001; 0,0001; 1101,0101,..... Este sistema pode ser utilizado para representar 2 estados de um elemento: uma lâmpada (acesa ou apagada), uma chave (aberta ou fechada), uma fita magnética (variação ou Cefet/PR – Cornélio Procópio 2 Sistemas de Numeração Prof. Luiz Marcelo Chiesse da Silva não na magnetização), na genética (presença ou ausência de genes),.... pois nos cálculos teóricos, o sistema binário é o mais utilizado para facilitar a manipulação dos dados. Qualquer algarismo ou dígito de número binário é denominado de bit (binary digit). Exemplo: 111011 → 6 bits. 2.1. Conversão do sistema binário para o sistema decimal Uma representação posicional no sistema binário pode ser desenvolvida numa forma polinomial que envolve um somatório de potências de 2. Assim, o equivalente decimal do número binário é obtido da representação polinomial do número na base 2, através do processamento da soma decimal. Exemplo 1: Conversão do número binário 110010 para decimal: 1- O primeiro dígito da direita para a esquerda do número binário multiplica a potência de 20, o segundo dígito da direita para a esquerda multiplica 21, o terceiro dígito à direita multiplica 22, e assim por diante: 0 x 20 = 0 x 1 = 0 1 x 21 = 1 x 2 = 2 0 x 22 = 0 x 4 = 0 0 x 23 = 0 x 8 = 0 1 x 24 = 1 x 16 = 16 1 x 25 = 1 x 32 = 32 2- A soma destas multiplicações resulta no número decimal: 0 + 2 + 0 + 0 + 16 + 32 = 50 Assim: 1100102 = 5010 13 12 11 10 9 8 7 Exemplo 2:101011101010012 = 1 x 2 + 0 x 2 + 1 x 2 + 0 x 2 + 1 x 2 + 1 x 2 + 1 x 2 + 0 6 5 4 3 2 1 0 x2 +1x2 +0x2 +1x2 +0x2 +0x2 +1x2 101011101010012 = 8192 + 0 + 2048 + 0 + 512 + 256 + 128 + 0 + 32 + 0 + 8 + 0 + 0 +1 101011101010012 = 1117710 Podemos representar um número decimal fracionário por um número binário, como no exemplo abaixo: 111,01012 = 1 x 22 + 1 x 21 + 1 x 20 + 0 x 2-1 + 1 x 2-2 + 0 x 2-3 + 1 x 2-4 111,01012 = 4 + 2 + 1 + 0 + 0,25 + 0 + 0,0625 111,01012 = 7,312510 Para a representação de números negativos pode-se utilizar o sinal “-”. Outro método utilizado na prática é o acréscimo de um dígito binário à esquerda do número para indicar este sinal, ou seja, para indicar se o número é negativo ou não. Os números binários compostos desta maneira são chamados números binários com sinal ou números de magnitude com sinal pois o primeiro dígito representa o sinal e os dígitos restantes significam a magnitude do número. Geralmente o dígito 0 indica um número positivo e 1 indica um número negativo. Exemplo: -32410 = 11010001002 ↓ Cefet/PR – Cornélio Procópio 3 Sistemas de Numeração Prof. Luiz Marcelo Chiesse da Silva dígito que indica um número negativo 2.2. Conversão do sistema decimal para o sistema binário: Efetua-se uma operação aproximadamente inversa à conversão de binário para decimal, utilizando o método das divisões sucessivas: divide-se sucessivamente o número decimal por 2 até resultar em um número menor que 2 e os restos destas divisões juntamente com o último resultado formarão o número binário. Este mesmo método pode ser usado para outros sistemas de numeração de base diferente de 2, como o sistema hexadecimal, cuja base é 16. Exemplo 1: Conversão do número decimal 1029 para o sistema binário. 1- Divide-se o número por 2, que é a base do sistema binário. O resto desta divisão será o último dígito do número binário. 1029|2___ 1 514 2- O resultado desta divisão é dividido novamente por 2, e o resto será o penúltimo dígito do número binário. O resultado é dividido sucessivas vezes por 2, até a última divisão em que o resultado for 0 ou 1. O resultado da última divisão será o primeiro dígito do número binário. 514|2___ 0 257 |2__ 1 128|2_ 0 64|2_ 0 32|2_ 0 16|2_ 0 8|2_ 0 4|2__ 0 2 |2 0 1 restos das divisões sucessivas:10000000101 102910 = 100000001012 Exemplo 2: Conversão do número 28374 decimal para binário. 28374|2_____ 0 14187|2___ 1 7093|2____ 1 3546|2____ 0 1773|2__ 1 886|2 0 443|2___ 1 221|2__ 1 110|2_ 0 55|2_ 1 27|2 1 13|2 Cefet/PR – Cornélio Procópio 4 Sistemas de Numeração Prof. Luiz Marcelo Chiesse da Silva 1 6|2 0 3|2 1 restos das divisões sucessivas: 110111011010110 2837410 = 1101110110101102 2.3. O Sistema Octal O sistema de numeração de base 8 e que utiliza os caracteres de 0 à 7 do sistema de numeração decimal, na respectiva ordem, é chamado de sistema octal. Este sistema era mais utilizado antigamente, pois é uma simplificação do sistema binário: 3 dígitos binários eram substituídos por 1 dígito no sistema octal, porque o valor máximo de um número de 3 dígitos binários é 111, ou seja, 7. que é o número máximo de caracteres diferentes utilizados pelo sistema octal (base 8). Atualmente, o sistema octal entrou em desuso pela utilização cada vez maior da informática e de circuitos eletrônicos digitais, que utilizam somente números binários. Em substituição ao sistema octal é utilizado o sistema hexadecimal. 3. O SISTEMA HEXADECIMAL DE NUMERAÇÃO O sistema hexadecimal de numeração pode representar quatro bits do sistema binário por um dígito (o número máximo obtido com quatro dígitos binários é 1610, que é a base do sistema hexadecimal) utilizando os dígitos de 0 à 9 do sistema decimal e representando os números de 10 à 15 pelos caracteres A, B, C, D, E, F. A contagem no sistema hexadecimal se processa da seguinte forma: 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 1A, 1B,... Exemplo de números binários: A16 = 1010 99F16 = 246310 BBC16 = 300410 3.1. Conversão do sistema hexadecimal para o sistema decimal Uma representação posicional no sistema hexadecimal pode ser desenvolvida numa forma polinomial que envolve um somatório de potências de 16. Executa-se um processo semelhante à conversão dos números binários para decimal. Exemplo 1: Conversão do número A01 hexadecimal para decimal. 1- O primeiro dígito da direita para a esquerda do número hexadecimal multiplica a potência de 160, o segundo dígito da direita para a esquerda multiplica 161, o terceiro dígito à direita multiplica 162, e assim por diante. Caso exista um dígito maior que 9, converte-lo para decimal e mutiplicar normalmente: 1 x 160 = 1 x 1 = 1 0 x 161 = 0 x 16 = 0 A x 162 = A x 256 = 10 x 256 = 2560 2- A soma destas multiplicações resulta no número decimal: 16 + 0 + 2560 = 2561 Assim: A0116 = 256110 Cefet/PR – Cornélio Procópio 5 Sistemas de Numeração Prof. Luiz Marcelo Chiesse da Silva 3 2 1 0 Exemplo 2:BF2016 = B x 16 + F x 16 + 2 x 16 + 0 x 16 BF2016 = 11 x 4096 + 15 x 256 + 2 x 16 + 0 x 1 BF2016 = 45056 + 3840 + 32 + 0 BF2016 = 4892810 4 3 2 1 0 Exemplo 3:600CD16 = 6 x 16 + 0 x 16 + 0 x 16 + C x 16 + D x 16 600CD16 = 6 x 65536 + 0 x 2998 + 0 x 256 + 12 x 16 + 13 x 1 600CD16 = 39342110 3.2. Conversão do sistema decimal para o sistema hexadecimal Utiliza-se o método das divisões sucessivas: divide-se sucessivamente o número decimal por 16 até resultar em um número menor que 16 e os restos destas divisões juntamente com o resultado da última divisão formarão o número hexadecimal. Exemplo 1: Conversão do número decimal 4096 para hexadecimal. 4096|16 0 256|16 0 16|16 0 1 409610 = 100016 Exemplo 2: Conversão do número 3748 decimal para hexadecimal. 3748|16 4 234|16 10 14 1410 = E16 1010 = A16 374810 = EA416 3.3. Conversão do sistema binário para hexadecimal A conversão de um número binário para hexadecimal pode ser feita de forma indireta pelos métodos de conversão anteriores: converte-se do sistema binário para o decimal e depois do decimal para o sistema hexadecimal. Porém, uma conversão direta do sistema binário para o sistema hexadecimal pode ser efetuada substituindo-se quatro dígitos binários por um dígito hexadecimal, pois com quatro dígitos binários obtenho no máximo o número 16, que é a base do sistema hexadecimal. Exemplo 1: Conversão do número 11101 em binário para o sistema hexadecimal. 1 - Obtenho os quatro últimos dígitos do número binário: 1101 2 - Converto diretamente para hexadecimal: 11012 = 1310 = D16 3 - Com isto, obtenho o último dígito do número hexadecimal: D16 4 - Repetir o mesmo método para os dígitos restantes do número binário: 12 = 116 5 - Unindo os dois dígitos, obtenho o número em hexadecimal: 111012 = 1D16 Exemplo 2: Conversão do número 100101010 em binário para o sistema hexadecimal. 10102 = 1010 = A16 00102 = 216 Cefet/PR – Cornélio Procópio 6 Sistemas de Numeração Prof. Luiz Marcelo Chiesse da Silva 12 = 116 1001010102 = 12A16 A conversão de hexadecimal para binário pode ser feita de forma indireta: converte-se de hexadecimal para decimal e de decimal para binário. Uma forma direta pode ser executada do modo contrário ao anterior: converte-se em quatro dígitos binários cada dígito hexadecimail. O último dígito do número hexadecimal fornece o valor dos quatro últimos dígitos do número binário. Exemplo 3: Conversão do número CDF hexadecimal para o sistema binário. F16 = 1510 = 11112 D16 = 1310 = 11012 C16 = 1210 = 11002 CDF16 = 110011011112 Exemplo 4: Conversão do número 1002 hexadecimal para o sistema binário. 216 = 00102 016 = 00002 016 = 00002 116 = 00012 E00216 = 10000000000102 Cefet/PR – Cornélio Procópio 7