Prévia do material em texto
SISTEMAS DIGITAIS – CCO01022 – GRAD-ONLINE 1 DEPARTAMENTO DE EDUCAÇÃO A DISTÂNCIA – UNIVERSIDADE ANHEMBI MORUMBI CAMPUS: ONLINE CURSO: CIÊNCIA DA COMPUTAÇÃO DISCIPLINA: SISTEMAS DIGITAIS CÓDIGO: CCO01022 - SISTEMAS DIGITAIS PROFESSOR AUTOR: Prof. MS. Alberto Antônio de Souza UNIDADE 1: SISTEMAS DE NUMERAÇÃO 1.1. Introdução 1.2. Sistema Binário 1.3. Procedimento prático para mudança de base 1.4. Conversão entre bases 2 n 1.5. Conversão de números fracionários 1.6. Exercícios Propostos SISTEMAS DE NUMERAÇÃO 1.1. Introdução As grandezas da natureza podem ser classificadas em dois grandes grupos. O primeiro, o das grandezas discretas , concentra aquelas cuja dimensão pode assumir um número finito de níveis ou valores diferentes. Esse é o caso, por exemplo, do número de alunos dentro de uma classe, ou o número de páginas de um livro. No segundo grupo, o das grandezas contínuas , estão concentradas as grandezas cuja dimensão pode assumir infinitos níveis ou valores diferentes. Como exemplo, cite-se a altura média dos alunos de uma classe ou o peso de um livro. SISTEMAS DIGITAIS – CCO01022 – GRAD-ONLINE 2 DEPARTAMENTO DE EDUCAÇÃO A DISTÂNCIA – UNIVERSIDADE ANHEMBI MORUMBI Os computadores analógicos, que podem ser implementados a partir de amplificadores operacionais, são especialmente indicados para o processamento das grandezas contínuas. No entanto, apesar das vantagens inerentes aos computadores analógicos, como maior velocidade e maior simplicidade na implementação de funções complexas (somadores, subtratores, multiplicadores, integradores e diferenciadores) esses apresentaram problemas (como dificuldade de controle das margens de ruído eletromagnético e não linearidades) que inviabilizaram sua utilização em larga escala e restringiram seu uso quase que exclusivamente à área de controle de sistemas. Desta forma, o impulso para o desenvolvimento dos computadores digitais, capazes de processar as grandezas discretas ou que podem assumir um número finito de níveis, é resultado das dificuldades em implementar computadores cujas variáveis ou operandos assumem infinitos valores diferentes. Destaque-se nesse processo os computadores digitais atualmente em uso em todo o mundo, em que o sistema de numeração utilizado é o sistema binário. 1.2. Sistema Binário O sistema de numeração mais difundido e mais utilizado pela humanidade é sistema decimal ou de base 10 . A razão para tanto está no fato do homem nascer um computador sempre à mão, ou melhor, nos 10 dedos das mãos! Isso torna natural o ato de agrupar ou construir conjuntos de 10 objetos . Embora seja natural o ato de construir grupos de 10 coisas, registros históricos mostram que importantes civilizações do passado se desenvolveram usando sistemas de numeração de base diferente de 10, tais como base 12 e base 60 , caso das civilizações mesopotâmicas - sumérios, babilônios e assírios. A matemática desses povos antigos influenciou civilizações ocidentais, como é o caso da Grã-Bretanha e suas colônias que, durante muito tempo, trabalharam com um sistema de numeração de base 12 . Por esse motivo, o ano possui 12 meses, o dia tem 24 horas e uma hora possui 60 minutos. Outro legado desses povos; é a divisão da circunferência em 360 graus (6 vezes 60). Atualmente, mesmo no Brasil, é possível se comprar produtos em quantidades múltiplas de 12, ou em dúzias . SISTEMAS DIGITAIS – CCO01022 – GRAD-ONLINE 3 DEPARTAMENTO DE EDUCAÇÃO A DISTÂNCIA – UNIVERSIDADE ANHEMBI MORUMBI No sistema de numeração decimal os números são representados como uma somatória de múltiplos de 10n, em que os algarismos 0, 1, 2, 3, 4, 5, 6, 7, 8 e 9 são os multiplicadores . Os expoentes das potências 10n, correspondem às posições dos multiplicadores dentro do número, contadas da direita para a esquerda , iniciando pela posição 0. Assim, considerando o número 1987 como exemplo, sua decomposição pode ser feita da seguinte maneira: 1987 = 1000 + 900 + 80 + 7 = 1.1000 + 9.100 + 8.10 + 7.1 1987 = 1 milhar + 9 centenas + 8 dezenas + 7 unidades 1987 = 1.103 + 9.102 + 8.101 + 7.100 Analogamente, para se estudar como é feita a representação de números numa base 2 ou binário é razoável supor que os números sejam representados como somatórias de múltiplos de 2n, e que os possíveis algarismos multiplicadores sejam 0 e 1. Assim, para representar números na base 2, devemos somar múltiplos de: 20 =1 21 = 2 22 = 4 23 = 8 24 =16 25 = 32 26 = 64 27 = 128 28 = 256 29 = 512 210 = 1024 211 =2048 ..... ..... ..... ..... Vamos procurar, por exemplo, uma representação binária para número 27 que está representado na base 10. A maior potência de 2 que não excede 27 é 16. Assim: 27 = 16 + 11 Analogamente para o número 11, que ainda está representado como uma potência de 10, tomamos o número 8, que é a maior potência de 2 que não excede 11. Logo: 27 = 16 + (8 + 3) = 16 + 8 + 3 Finalmente, transformamos o número 3 numa soma de 2 e 1, que são duas potências de 2: 27 = 16 + 8 + (2 + 1) = 16 + 8 + 2 + 1 27 = 1.16 + 1.8 + 0.4 + 1.2 + 1.1 = 1. 24 + 1. 23 + 0. 22 + 1. 21 + 1. 20 Tomando-se, novamente, apenas os algarismos multiplicadores da representação binária temos: 2710 = 110112 SISTEMAS DIGITAIS – CCO01022 – GRAD-ONLINE 4 DEPARTAMENTO DE EDUCAÇÃO A DISTÂNCIA – UNIVERSIDADE ANHEMBI MORUMBI Generalizando, num sistema genérico de base B , os números serão representados como uma somatória de múltiplos de Bn e os possíveis multiplicadores serão os algarismos de 0, 1, ..., (B-1). Os expoentes das potências Bn, correspondem às posições dos multiplicadores dentro do número, contadas da direita para a esquerda , a partir da posição 0 . Por essa razão, o sistema de numeração é dito posicional . Na tabela a seguir estão representados alguns dos mais importantes sistemas de numeração: Sistema Base Algarismos Binário 2 0 e 1 Ternário 3 0, 1 e 2 Quaternário 4 0, 1, 2 e 3 Quintenário 5 0, 1, 2, 3 e 4 Octal 8 0, 1, 2, 3, 4, 5, 6 e 7 Decimal 10 0, 1, 2, 3, 4, 5, 6, 7, 8 e 9 Hexadecimal 16 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E e F Dos sistemas apresentados, aqueles que são de maior interesse para este curso são os de bases 2, 4, 8 e 16, respectivamente binário, quaternário, octal e hexadecimal. No entanto, os sistemas ternário e quintenário são de grande valia no estudo dos procedimentos utilizados na mudança de bases. Apresentando a representação do número 27 em diversas dessas bases, tem-se: 2710 = 110112 = 10003 = 1234 = 1025 convertendo-os novamente para a base 10 temos: 10003 = 1.3 3 + 0.32 + 0.31 + 0.30 = 1.27 + 0.9 + 0.3 + 0.1 = 2710 1234 = 1.4 2 + 2.41 + 3.40 = 1.16 + 2.4 + 3.1 = 16 + 8 + 3 = 2710 1025 = 1.5 2 + 0.51 + 2.50 = 1.25 + 0.5 + 2.1 = 25 + 2 = 2710 SISTEMAS DIGITAIS – CCO01022 – GRAD-ONLINE 5 DEPARTAMENTO DE EDUCAÇÃO A DISTÂNCIA – UNIVERSIDADE ANHEMBI MORUMBI Como é possível se verificar pelos exemplos acima, quando houver dúvida sobre que sistema de numeração está sendo utilizado num determinado contexto, utilizam-se índices, iguais à base utilizada, à direita das representações. As dúvidas que por ventura existirem durante a utilização dos sistemas binário, octal e hexadecimal, podem ser eliminadas respectivamente pelas letras B, O e H agregadas à direita das representações numéricas como segue: 100111112 = 10011111B 2378 = 237O B80016 = B800H Cada algarismo de uma representação numérica binária é denominados de bit , que corresponde à abreviatura de binary digi t. Existem ainda outras denominações que aparecem freqüentemente na área de computação, como: byte = conjuntode 8 bits nibble = conjunto de quatro bits ou meio byte word = conjunto de 16 bits ou dois bytes 1.3. Procedimento Prático para Mudança de Base Este procedimento consiste em dividir o número representado na base 10 sucessivamente pela nova base em que se deseja representá-lo, até que o quociente da divisão seja menor que a base em questão. Em seguida toma-se o último quociente e os restos das sucessivas divisões em ordem inversa e obtem-se, assim, a representação do número na nova base. Seja o número 6 cuja conversão para a base 2 foi mostrada: 6 2 0 3 2 1 1 Logo 610 = 1102 ⇐⇐⇐ SISTEMAS DIGITAIS – CCO01022 – GRAD-ONLINE 6 DEPARTAMENTO DE EDUCAÇÃO A DISTÂNCIA – UNIVERSIDADE ANHEMBI MORUMBI Executando o mesmo procedimento para o número 27 em várias bases: a) Na base 2 27 2 1 13 2 1 6 2 0 3 2 1 1 Logo 2710 = 110112 ⇐⇐⇐ b) Na base 3 27 3 0 9 3 0 3 3 0 1 Logo 2710 = 10003 ⇐⇐⇐ c) Na base 4 27 4 3 6 4 2 1 Logo 2710 = 1234 ⇐⇐⇐ d) Na base 5 27 5 2 5 5 0 1 Logo 2710 = 1025 ⇐⇐⇐ Como é possível verificar pelos exemplos acima, os valores obtidos para as representações nas diversas bases são os mesmos já apresentados anteriormente. 1.4. Conversão entre bases 2 n A conversão de números representados na base 2 para as bases 4, 8 e 16, e em sentido contrário, é muito simples de ser executada. O interesse nessa conversão reside no fato que os sistemas computacionais freqüentemente se utilizam da base 16 para representação de endereços dentro de suas memórias. SISTEMAS DIGITAIS – CCO01022 – GRAD-ONLINE 7 DEPARTAMENTO DE EDUCAÇÃO A DISTÂNCIA – UNIVERSIDADE ANHEMBI MORUMBI • Para se converter um número representado na base 2 para uma base 2n, n ≥ 2, deve-se agrupar, da direita para a esquerda, os bits da representação binária em grupos de n bits e substituir cada grupo pela sua correspondente representação na base 2n. Exemplo: Converter o número 100001112 para as bases 4, 8 e 16: a) Para a base 4 = 22, n = 2: 100001112 = 10 00 01 11 = 2 0 1 3 = 20134 o valor correspondente na base 10, é: 20134 = 2.4 3 + 0.42 + 1.41 + 3.40 = 2.64 + 0.16 + 1.4 + 3.1 = 128 + 4 + 3 = 13510 b) Para a base 8 = 23, n = 3: 100001112 = 010 000 111 = 2 0 7 = 2078 o valor correspondente na base 10, é: 2078 = 2.8 2 + 0.81 + 7.80 = 2.64 + 0.8 + 7.1 = 128 + 7 = 13510 c) Para a base 8 = 24, n = 4: 100001112 = 1000 0111 = 8 7 = 8716 o valor correspondente na base 10, é: 8716 = 2.8 2 + 0.81 + 7.80 = 2.64 + 0.8 + 7.1 =128 + 7 = 13510 • Para executar a conversão de um número representado numa base 2n, n ≥ 2, para sua representação na base 2 devemos substituir, da direita para a esquerda, cada um de seus algarismos pela sua correspondente representação binária em grupos de n bits. Exemplo: Converter os número 324, 2378 e B80016 para a base 2: a) 324 = 3 2 = 11 10 = 11102 b) 2378 = 2 3 7 = 010 011 111 = 100111112 c) B80016 = B 8 0 0 = 1011 1000 0000 0000 = 10111000000000002 SISTEMAS DIGITAIS – CCO01022 – GRAD-ONLINE 8 DEPARTAMENTO DE EDUCAÇÃO A DISTÂNCIA – UNIVERSIDADE ANHEMBI MORUMBI 1.5. Conversão de números fracionários Para se estudar como é feita a conversão de números fracionários para sua correspondente representação na base 2 ou vamos, primeiramente, estudar sua representação na base 10. Consideremos o número 0,375 e vamos efetuar sua decomposição da seguinte maneira: 0,375 = 0,3 + 0,07 + 0,005 0,375 = 3 . 0,1 + 7 . 0,01 + 5 . 0,001 0,375 = 3 décimos + 7 centésimos + 5 milésimos 0,375 = 3.10-1 + 7.10-2 + 5.10-3 No sistema decimal os números são representados como uma somatória de múltiplos de 10n, onde n < 0, e os multiplicadores os algarismos 0, 1, 2, 3, 4, 5, 6, 7, 8 e 9. Para o sistema binário é razoável supor que os números sejam representados como somatórias de múltiplos de 2n, onde n < 0, e os possíveis algarismos multiplicadores sejam 0 e 1. Assim, para representar números na base 2, devemos somar múltiplos de: 2-1 = 0,5 2-2 = 0,25 2-3 = 0,125 2-4 = 0,0625 2-5 = 0,03125 2-6 = 0,015625 ....... ...... ....... Exemplos: Converter os número 0,375 e 0,1875 para a base 2. a) 0,375 = 0,25 + 0,125 = 2-2 + 2-3 = 0.2-1 + 1.2-2 + 1.2-3 = 0,0112 b) 0,1875 = 0,125 + 0,06125 = 2-3 + 2-4 = 0.2-1 + 0.2-2 + 1.2-3 + 1.2-4 = 0,00112 SISTEMAS DIGITAIS – CCO01022 – GRAD-ONLINE 9 DEPARTAMENTO DE EDUCAÇÃO A DISTÂNCIA – UNIVERSIDADE ANHEMBI MORUMBI • Procedimento Prático A conversão de um número fracionário para binário é obtida por meio de sucessivas multiplicações desse número pela própria base 2. A parte inteira do resultado da primeira multiplicação será o valor da primeira casa fracionária e a parte fracionária deverá ser novamente multiplicada pela base; e assim por diante, até que parte fracionária do produto seja igual a zero ou até que seja obtido o número de casas decimais desejado. Exemplos: Converter os número 0,375 e 0,1875 para a base 2. a) 0,375 x 2 = 0,750 0,750 x 2 = 1,500 0,500 x 2 = 1,000 ⇒ 0,3752 = 0,0112 b) 0,1875 x 2 = 0,3750 0,3750 x 2 = 0,7500 0,7500 x 2 = 1,500 0,5000 x 2 = 1,000 ⇒ 0,18752 = 0,00112 SISTEMAS DIGITAIS – CCO01022 – GRAD-ONLINE 10 DEPARTAMENTO DE EDUCAÇÃO A DISTÂNCIA – UNIVERSIDADE ANHEMBI MORUMBI PROBLEMAS PROPOSTOS 1) Converta os números do sistema decimal para o sistema binário: a) 13 b) 94 c) 356 d) 39 e) 59 f) 128 g) 10,25 h) 25,125 2) Converta os números do sistema binário para o sistema decimal: a) 11011 b) 101 c) 10001 d) 10111 e) 1001001 f) 101,1 g) 11111,111 3) Converta os números do sistema decimal para o sistema octal: a) 94 b) 155 c) 150 d) 187 4) Converta os números do sistema binário para o sistema octal: a) 1101 b) 10001 c) 101 d) 10111 e) 1001001 f) 1101100 g) 11100111 5) Converta os números do sistema octal para o sistema decimal: a) 2376 b) 2403 c) 22632 d) 152 e) 1000 f) 13002 6) Converta os números do sistema octal para o sistema binário: a) 56 b) 43 c) 2312 d) 1301 e) 4354 f) 2222 7) Converta os números do sistema decimal para o sistema hexadecimal: a) 33 b) 54 c) 801 d) 932 e) 1110 f) 2566 8) Converta os números do sistema hexadecimal para o sistema decimal: a) AAAA b) 1511 c) AB01 d) 1500 e) 120 f) 33 9) Converta os números do sistema binário para o sistema hexadecimal: a) 10110111 b) 10011100 c) 1011111111 d) 11101 e) 110011 f) 111101,01 10) Converta os números do sistema hexadecimal para o sistema binário: a) CD b) 649 c) A13 d) AA1A e) AB2 f) 23,4 SISTEMAS DIGITAIS – CCO01022 – GRAD-ONLINE 11 DEPARTAMENTO DE EDUCAÇÃO A DISTÂNCIA – UNIVERSIDADE ANHEMBI MORUMBI BIBLIOGRAFIA BÁSICA 1. TOCCI, Ronald J.; WIDMER, Neal S.; MOSS, Gregory L., Sistemas Digitais: Princípios e Aplicações , Prentice Hall Brasil, 2007 2. UYEMURA, John P., Sistemas Digitais: Uma Abordagem Integrada , São Paulo, Thomson Pioneira, 2002 . 3. VAHID, Frank; LASCHUK, Anatólio, Sistemas Digitais: Projeto, otimização e HDLs , Bookman, 2008. BIBLIOGRAFIA COMPLEMENTAR 1. ERCEGOVAC, Milos D.; LANG, Tomas e MORENO, Jaime H., Introdução aos Sistemas Digitais , Porto Alegre, Bookman, 2000. 2. IDOETA, Ivan V.; CAPUANO, Francisco G., Elementos de eletrônica digital. Livros Érica Editora. Ltda, 2002. 3. TAUB, Herbert; SCHILLING, Donald, EletrônicaDigital , São Paulo. McGraw-Hill, 1982.