Baixe o app para aproveitar ainda mais
Prévia do material em texto
53 M aterial para uso exclusivo de aluno m atriculado em curso de Educação a Distância da Rede Senac EAD, da disciplina correspondente. Proibida a reprodução e o com partilham ento digital, sob as penas da Lei. © Editora Senac São Paulo. Capítulo 4 Operações numéricas e conversões de base Neste capítulo, abordaremos as operações numéricas mais utiliza- das e as formas de conversão de bases numéricas. Apresentaremos operações como a adição direta nas bases 2 e 16 e a subtração direta na base 2. Veremos as conversões numéricas entre sistemas numéri- cos de bases diferentes, de base 10 para qualquer base, de qualquer 54 Conceitos de computação I Ma te ria l p ar a us o ex cl us ivo d e al un o m at ric ul ad o em c ur so d e Ed uc aç ão a D ist ân ci a da R ed e Se na c EA D, d a di sc ip lin a co rre sp on de nt e. P ro ib id a a re pr od uç ão e o c om pa rti lh am en to d ig ita l, so b as p en as d a Le i. © E di to ra S en ac S ão P au lo . base para base 10 e entre sistemas de base 16 para base 2 e de base 2 para base 16 1 Operações numéricas Os computadores recebem o nome de “computadores digitais” por trabalharem o tempo todo no sistema numérico binário. Sendo assim, é importante apresentarmos a técnica utilizada para efetuar operações aritméticas na base 2. Segundo Tocci, Widmer e Moss (2011), um dos motivos principais de o sistema de numeração decimal não ser implementado em dispo- sitivos eletrônicos é a dificuldade de construir dispositivos eletrônicos multiníveis, com dez níveis diferentes de tensão (cada um representan- do um caractere decimal de 0 a 9). Por outro lado, a criação de equipa- mentos eletrônicos que trabalham com dois níveis de tensão é, sem dúvida, muito mais simples e de baixo custo de complexidade. Dessa forma, quase todos os dispositivos digitais usam o sistema de numera- ção binário (base 2) como sistema básico de numeração para suas ope- rações. Além disso, os sistemas digitais sofreram muitas modificações à medida que a tecnologia avançou, mas os princípios de representação binária se mantiveram sem mudanças (TOCCI; WIDMER; MOSS, 2011). A representação dos dois estados lógicos de um sinal digital é apre- sentada na figura 1. Pode-se perceber que os níveis mais altos de ten- são representam o bit 1 e os níveis mais baixos de tensão representam o bit 0. As terminologias “alto” e “baixo” são utilizadas para represen- tar os dois estados de um sistema digital, em vez dos números 1 e 0. Dependendo da tecnologia e do tipo de implementação, os limiares das faixas de tensão para representar 1 e 0 podem ser distintos. No exemplo da figura 1, o bit 1 é representado pelo intervalo de 2 V a 5 V, e o bit 0 é representado pelo intervalo de 0 V a 0,8 V, sendo o intervalo de 0,8 V a 2 V considerado como tensões inválidas (não utilizadas). 55Operações numéricas e conversões de base M aterial para uso exclusivo de aluno m atriculado em curso de Educação a Distância da Rede Senac EAD, da disciplina correspondente. Proibida a reprodução e o com partilham ento digital, sob as penas da Lei. © Editora Senac São Paulo. Figura 1 – Designações de tensões típicas em um sistema digital 0 V 0,8 V 2 V 5 V Nível altoBinário 1 Não usadas Nível baixoBinário 0 Tensões inválidas Fonte: adaptado de Tocci, Widmer e Moss (2011, p. 14). Quando utilizamos N bits, podemos contar 2 elevado a N diferentes possibilidades. Podemos relacionar essas possibilidades aos números em decimal (de 0 a 2N – 1). Por exemplo, para N = 4, podemos contar de 00002 a 11112, que corresponde a 010 a 1510, em um total de 16 números diferentes. Nesse caso, o valor do maior número decimal é 24 – 1 = 15, e há 24 números diferentes (TOCCI; WIDMER; MOSS, 2011, p. 27). O sistema numérico hexadecimal é conhecido por utilizar 16 dígitos diferentes entre números e letras para representar uma informação: os números de 0 a 9 e as letras de A a F. Cada letra corresponde a um número do sistema decimal (A: 10; B: 11; C: 12; D: 13; E: 14; F: 15). Para representar sequências binárias muito longas, é conveniente usar o sistema numérico hexadecimal, por oferecer um tamanho menor para representar a mesma informação, sendo mais fácil de entender do que longas sequências de 0 e 1. Para exemplificar, imagine sequências lon- gas de até 64 bits. Essas sequências são comuns quando se trabalha, por exemplo, com armazenamento em memória. Sendo assim, quando nos deparamos 56 Conceitos de computação I Ma te ria l p ar a us o ex cl us ivo d e al un o m at ric ul ad o em c ur so d e Ed uc aç ão a D ist ân ci a da R ed e Se na c EA D, d a di sc ip lin a co rre sp on de nt e. P ro ib id a a re pr od uç ão e o c om pa rti lh am en to d ig ita l, so b as p en as d a Le i. © E di to ra S en ac S ão P au lo . com longas sequências de 0 e 1, é sempre mais conveniente e menos sujeito a erros convertê-las em hexadecimal. O sistema hexadecimal é extremamente utilizado na área dos micro- processadores e, também, amplamente utilizado em circuitos digitais, tratando-se de um sistema numérico muito importante, sendo aplicado em projetos de software e hardware (IDOETA; CAPUANO, 1999). 1.1 Operação aritmética soma Agora, vamos apresentar como a operação aritmética soma com números na base 2 e na base 16 funciona, mas, para isso, primeiro pre- cisamos entender como funciona a operação na base 10. Considere os algarismos decimais dispostos em ordem crescente de 0 a 9: 0 1 2 3 4 5 6 7 8 9 “Somar” significa deslocar à direita na sequência dos algarismos de- cimais, ou seja, 4 + 3 = 7 porque, estando no 4 e executando três des- locamentos à direita nos algarismos decimais ordenados, paramos no algarismo 7. Acompanhe: 0 1 2 3 4 5 6 7 8 9 Analise agora o que acontece com a seguinte operação aritmética decimal: 7 + 7 = ? 0 1 2 3 4 5 6 7 8 9 (vai 1) Analisando a representação anterior, pode-se concluir que 7 + 7 = 4, o que está errado. Vamos entender o que acontece. Quando não 57Operações numéricas e conversões de base M aterial para uso exclusivo de aluno m atriculado em curso de Educação a Distância da Rede Senac EAD, da disciplina correspondente. Proibida a reprodução e o com partilham ento digital, sob as penas da Lei. © Editora Senac São Paulo. existem mais algarismos à direita e, mesmo assim, é necessário fazer um deslocamento, ocorre o retorno para o algarismo 0 e continua-se a contar a partir daí (contando inclusive o retorno). Esse fato é conhecido como “estouro”, e é o famoso “vai 1”. 1 1 4(10) 7 7 + Os algarismos do sistema numérico binário são 1 e 0. Somar no sis- tema numérico binário não é diferente de somar em outros sistemas numéricos. O problema é que, como ocorrem muitos estouros, é neces- sário um pouco mais de atenção para não errar. A tabela 1 exemplifica as possibilidades de operações binárias. Tabela 1 – Possibilidades de operações binárias 0 + 0 0 1 + 0 1 0 + 1 1 1 + 1 0 vai 1 Por exemplo, podemos somar 137 na base 10 com 72 na base 10. Para isso, uma forma alternativa seria transformar esses números para binários: 137 = 10001001; 72 = 01001000. Na sua soma, obteríamos o seguinte número binário: 11010001, que representa o mesmo valor da soma decimal. 137(10) = 10001001 72(10) 01001000 Soma = 209 11010001 58 Conceitos de computação I Ma te ria l p ar a us o ex cl us ivo d e al un o m at ric ul ad o em c ur so d e Ed uc aç ão a D ist ân ci a da R ed e Se na c EA D, d a di sc ip lin a co rre sp on de nt e. P ro ib id a a re pr od uç ão e o c om pa rti lh am en to d ig ita l, so b as p en as d a Le i. © E di to ra S en ac S ão P au lo . 1.1.1 Soma hexadecimal Um número no formato hexadecimal pode ser seguido pelo número 16, como em6AD(16), ou pela letra H, como em 26H. A grande diferença de um sistema numérico para outro é a quantidade de algarismos para representar os valores. A montagem e a técnica são as mesmas utiliza- das para somar números nas bases 10 e 2. Primeiramente, são escritos os algarismos na ordem crescente, e, depois, são contados os desloca- mentos e os estouros. 0 1 2 3 4 5 6 7 8 9 A B C D E F Agora, um exemplo de operação de soma do número hexadecimal 8 somado a A na base hexadecimal: 0 1 2 3 4 5 6 7 8 9 A B C D E F (vai 1) Logo, a resposta será 12 em hexadecimal, que corresponde a 18 na base decimal. 1 +8 A 1 2 Vamos acompanhar um outro exemplo: somar 531 + 19C, ambos os números na base hexadecimal. A soma de 1 + C, onde C vale 12. Representaremos o deslocamento de doze casas, a partir de 1. Assim fazendo, paramos na letra D. 59Operações numéricas e conversões de base M aterial para uso exclusivo de aluno m atriculado em curso de Educação a Distância da Rede Senac EAD, da disciplina correspondente. Proibida a reprodução e o com partilham ento digital, sob as penas da Lei. © Editora Senac São Paulo. 0 1 2 3 4 5 6 7 8 9 A B C D E F (não ocorreu estouro) Representando a soma de 3 + 9, iniciamos na posição 3 e andamos nove casas para a direita, parando no C. 0 1 2 3 4 5 6 7 8 9 A B C D E F (não ocorreu estouro) Concluindo a soma, resta somarmos 5 + 1. Usando o mesmo proce- dimento, estando em 5, move-se uma casa para a direita, parando no 6. 0 1 2 3 4 5 6 7 8 9 A B C D E F (não ocorreu estouro) Resposta: somando 531 + 19C na base hexadecimal, temos um resultado de 6CD na base hexadecimal: 531(16) + 19C(16) = 6CD(16). +5 3 1 1 9 C 6 C D 1.1.2 Subtração binária Idoeta e Capuano (1999) descrevem o método de subtração binária como sendo semelhante à subtração de números decimais. São possí- veis apenas quatro situações para efetuar operações de subtração de 60 Conceitos de computação I Ma te ria l p ar a us o ex cl us ivo d e al un o m at ric ul ad o em c ur so d e Ed uc aç ão a D ist ân ci a da R ed e Se na c EA D, d a di sc ip lin a co rre sp on de nt e. P ro ib id a a re pr od uç ão e o c om pa rti lh am en to d ig ita l, so b as p en as d a Le i. © E di to ra S en ac S ão P au lo . um bit de outro em posições de um número binário. São elas (IDOETA, CAPUANO, 1999): 0 – 0 = 0 1 – 1 = 0 1 – 0 = 1 0 – 1 à precisa tomar emprestado à 10 – 1 = 1 O último caso aponta que é preciso emprestar da coluna seguinte para a esquerda quando subtrair 1 de 0. Vamos acompanhar um exemplo da subtração de dois números bi- nários e seus equivalentes decimais. Exemplo: a subtração do número binário 10011 menos o número bi- nário 1000 (100112 – 10002). 1 1 0 0 1 1 – 1 0 0 0 1 0 1 1 Resposta: a subtração do número binário 10011 menos o número binário 1000 é igual a 1011 (100112 – 10002 = 10112). 2 Conversão de decimal para binário O sistema binário pode ser utilizado para representar qualquer quan- tidade também no sistema decimal ou em outro sistema de numera- ção. Tocci, Widmer e Moss (2011) fazem uma importante consideração sobre a aritmética binária. Essa consideração define o posicionamento dos bits com maior e menor valor significativo, conhecidos, respectiva- mente, como MSB e LSB: 61Operações numéricas e conversões de base M aterial para uso exclusivo de aluno m atriculado em curso de Educação a Distância da Rede Senac EAD, da disciplina correspondente. Proibida a reprodução e o com partilham ento digital, sob as penas da Lei. © Editora Senac São Paulo. • MSB (most significant bit): indica o bit mais significativo (o que tem maior valor). • LSB (less significant bit): indica o bit menos significativo (o que tem menor valor). Conhecendo os valores MSB e LSB, é possível efetuar a conversão de um número decimal inteiro para seu equivalente binário, e vice-versa. Um método para conversão de um número na base decimal para a base binária utiliza dois algarismos (0 e 1). Cada posição tem um peso de uma potência de 2 (base do sistema binário). Sendo assim, para se con- verter um número de binário para decimal, deve-se multiplicar cada bit pela potência de sua posição e somar os resultados. Exemplo: 2510 = 16 + 8 + 1 = 2 4 + 23 + 0 + 0 + 20 = 1 1 0 0 12 O algarismo 0 é inserido nas posições 21 e 22, pois todas as posições devem ser consideradas. Vamos a outro exemplo: 7810 = 64 + 8 + 4 + 2 = 2 6 + 0 + 0 + 23 + 22 + 21 + 0 = 1 0 0 1 1 1 02 Na conversão, realizada a seguir para o número 3010, utilizaremos o método por divisões sucessivas pelo qual o número decimal é dividido sucessivamente por 2. Podemos obter, por meio desse método, os res- tos de cada divisão, até que se obtenha quociente 0. 30 / 2 = 15 + resto 0 LSB 15 / 2 = 7 + resto 1 7 / 2 = 3 + resto 1 3 / 2 = 1 + resto 1 Para a divisão 1 / 2, como o dividendo é menor que 2, (no caso, 1), 1 será o MSB. 3010 = 111102 62 Conceitos de computação I Ma te ria l p ar a us o ex cl us ivo d e al un o m at ric ul ad o em c ur so d e Ed uc aç ão a D ist ân ci a da R ed e Se na c EA D, d a di sc ip lin a co rre sp on de nt e. P ro ib id a a re pr od uç ão e o c om pa rti lh am en to d ig ita l, so b as p en as d a Le i. © E di to ra S en ac S ão P au lo . Observe que o resultado binário corresponde à concatenação dos restos resultantes das divisões sucessivas por 2, e, então, o resultado é alcançado ao escrevermos o primeiro resto na posição do LSB até o último resto na posição do MSB. 3 Conversão de binário para decimal Segundo Idoeta e Capuano (1999), a conversão do sistema de nu- meração binário é realizada utilizando um sistema posicional em que cada dígito binário (bit) possui um certo peso, de acordo com a posição relativa ao LSB. Qualquer número binário pode ser convertido em seu decimal equivalente, simplesmente somando os pesos das posições em que o número binário tiver um bit 1. Exemplificando, realizaremos a conversão do número binário 100112 em seu equivalente decimal: 1 0 0 1 12 24 + 0 + 0 + 21 + 20 = 16 + 2 + 1= 1910 Vejamos outro exemplo com um número maior de bits: 1 1 0 0 1 12 25 + 24 + 0 + 0 + 21 + 20 = 5110 A partir do exemplo anterior, e de acordo com Tocci, Widmer e Moss (2011), podemos determinar os pesos, isto é, as potências de 2, para cada posição que contenha um bit 1 e, então, somá-los. O bit MSB tem peso de 25, ainda que seja o sexto bit. Isso ocorre porque o LSB é o pri- meiro bit e tem peso de 20. 63Operações numéricas e conversões de base M aterial para uso exclusivo de aluno m atriculado em curso de Educação a Distância da Rede Senac EAD, da disciplina correspondente. Proibida a reprodução e o com partilham ento digital, sob as penas da Lei. © Editora Senac São Paulo. 4 Conversão de decimal para hexadecimal A conversão de decimal em binário tem a característica de utilizar divisões sucessivas por 2. Desse modo, a conversão de decimal em he- xadecimal pode ser feita usando divisões sucessivas por 16, e seu resul- tado é obtido escrevendo do quociente da última divisão até o resto da primeira divisão. Exemplificando: a) Converta 37310 em hexadecimal. Solução: 373 / 16 = 23 + resto 5 23 / 16 = 1 + resto 7 Para a divisão 1 / 16, como o dividendo é menor que 16, (no caso, 1), 1 será o MSB. 37310 = 17516 Para a operação de conversão do número decimal 373 em hexade- cimal, primeiro dividimos 373 por 16, resultando em 23 com resto 5; depois, dividimos 23 por 16, ficando 1 com resto 7. Por fim, dividimos 1 por 16, fica 0 com resto 1. b) Converta 23110 em hexadecimal. Solução: 231 / 16 = 14 + resto 7 LSB Para a divisão 14 / 16, como o dividendo é menor que 16, (no caso, 14), 14 será o valor que entra como MSB. 23110 = E716 Paraa conversão do número decimal 231 para hexadecimal, dividi- mos 231 por 16, que resulta em 14 com resto 7. Então, dividimos 14 por 64 Conceitos de computação I Ma te ria l p ar a us o ex cl us ivo d e al un o m at ric ul ad o em c ur so d e Ed uc aç ão a D ist ân ci a da R ed e Se na c EA D, d a di sc ip lin a co rre sp on de nt e. P ro ib id a a re pr od uç ão e o c om pa rti lh am en to d ig ita l, so b as p en as d a Le i. © E di to ra S en ac S ão P au lo . 16, que resulta em 0 com resto 14. Pegando do primeiro resto LSB ao MSB, resulta em E7 na base 16. Lembre-se de que E na base hexadeci- mal é igual a 14. Observe novamente que os restos do processo de divisões sucessi- vas formam o número hexadecimal. 5 Conversão de hexadecimal para decimal Idoeta e Capuano (1999) citam que um número hexadecimal pode ser convertido em seu equivalente decimal conhecendo a posição de cada dígito hexadecimal, por ter um peso que é uma potência de 16. O LSD tem um peso de 160 = 1; o dígito da próxima posição superior tem um peso de 16¹ = 16; o próximo dígito tem um peso de 16² = 256, e as- sim sucessivamente. Vamos acompanhar alguns exemplos de conversão: a) 35616 = 3 × 16 2 + 5 × 161 + 6 × 160 = 768 + 80 + 6 = 85410 Para a conversão do número hexadecimal 356 para decimal, deve-se multiplicar cada algarismo por 16 elevado à potência correspondente e, no final, somar todos os itens. Ficaria 3 × 16 elevado a 2 mais 5 × 16 elevado a 1 mais 6 × 16 elevado a 0. O resultado de cada multiplicação fica 768 + 80 + 6, perfazendo um total de 854 na base 10. b) 2AF16 = 2 × 16 2 + 10 × 161 + 15 × 160 = 512 + 160 + 15 = 68710 65Operações numéricas e conversões de base M aterial para uso exclusivo de aluno m atriculado em curso de Educação a Distância da Rede Senac EAD, da disciplina correspondente. Proibida a reprodução e o com partilham ento digital, sob as penas da Lei. © Editora Senac São Paulo. Para a conversão do número hexadecimal 2AF para o seu correspon- dente em decimal, deve-se multiplicar cada algarismo por 16 elevado à potência correspondente e, depois, somar os resultados. Ficaria 2 × 16 elevado a 2 mais 10 × 16 elevado a 1 mais 15 × 16 elevado a 0. O resultado de cada multiplicação fica 512 + 160 + 15, com total de 687 na base 10. 6 Conversão de hexadecimal para binário Uma particularidade das conversões de hexadecimal para binário é que, implicitamente na base 2, “n” dígitos binários podem ser representa- dos por 2n números diferentes. Para exemplificar, tomaremos quatro dígi- tos binários, e assim teremos 24 = 16 números diferentes. Uma vez que o hexadecimal é um sistema de base 16, um número de um dígito pode ser usado para representar 161 = 16 números diferentes. Como veremos a se- guir, isso torna a conversão entre os dois sistemas extremamente simples. Exemplo: considere o número hexadecimal 5B16. Vamos converter esse número em binário. Para isso, separamos 5 e B e os convertemos direta- mente em binários: 5 / 2 = 2 + resto 1 2 / 2 = 1 + resto 0 Como o dividendo resultante é menor que 2 (no caso, 1), é justamen- te o valor 1 do dividendo que entra como MSB. 516 = 1012 B = 11 11 / 2 = 5 + resto 1 5 / 2 = 2 + resto 1 2 / 2 = 1 + resto 0 66 Conceitos de computação I Ma te ria l p ar a us o ex cl us ivo d e al un o m at ric ul ad o em c ur so d e Ed uc aç ão a D ist ân ci a da R ed e Se na c EA D, d a di sc ip lin a co rre sp on de nt e. P ro ib id a a re pr od uç ão e o c om pa rti lh am en to d ig ita l, so b as p en as d a Le i. © E di to ra S en ac S ão P au lo . Como o dividendo resultante é menor que 2 (no caso, 1), é justamen- te o valor 1 do dividendo que entra como MSB. B = 10112 Resultado: 10110112 Para a conversão do número hexadecimal 5B para o seu correspon- dente em binário, primeiramente, são efetuadas as divisões diretas e sucessivas na base 2, e, depois, são concatenados os resultados. O al- garismo 5 em hexadecimal equivale ao binário 1012, e B equivale a 11 em decimal e 1011 na base 2. Logo, concatenando os resultados, obte- remos o equivalente binário 1011011. Uma vez conhecido o equivalente binário para um número hexadeci- mal, pode-se mostrar como será realizada a conversão, como verificado no exemplo a seguir: 3 = 11 A = 1010 B = 1011 Após a conversão do número hexadecimal para base binária, fare- mos a concatenação e obteremos o equivalente binário 1110101011 para o número hexadecimal 3AB. Considerações finais Neste capítulo, compreendemos como efetuar operações numéricas para diferentes bases. Vimos também como efetuar as conversões da base decimal para binário e hexadecimal. Além disso, apresentamos, suscintamente, as vantagens de utilização de cada base. Foi possível verificar que existe mais de uma maneira para operações de conver- são de números de diferentes bases. Possivelmente, você pode chegar 67Operações numéricas e conversões de base M aterial para uso exclusivo de aluno m atriculado em curso de Educação a Distância da Rede Senac EAD, da disciplina correspondente. Proibida a reprodução e o com partilham ento digital, sob as penas da Lei. © Editora Senac São Paulo. à conclusão de que muitas dessas conversões podem ser realizadas automaticamente, em uma calculadora de conversão disponível na in- ternet. No entanto, o objetivo deste capítulo é que o aluno domine essas conversões, para que, assim, compreenda os processos de operações lógicas que os dispositivos digitais realizam. Referências IDOETA, Ivan Valeije; CAPUANO, Francisco Gabriel. Elementos de eletrônica digital. São Paulo: Érica, 1999. TOCCI, Ronald J.; WIDMER, Neal S.; MOSS, Gregory L. Sistemas digitais: princípios e aplicações. 11. ed. São Paulo: Pearson Prentice Hall, 2011.
Compartilhar