Baixe o app para aproveitar ainda mais
Prévia do material em texto
IESAM – Sistemas Digitais I – Profa. Josiane Rodrigues 1 Unidade 2 Sistemas de Numeração 2.1 – Introdução O homem, através dos tempos, sentiu a necessidade da utilização de sistemas numéricos. Existem vários sistemas numéricos, dentre os quais se destacam: o sistema decimal, o binário, o octal e o hexadecimal. O sistema decimal é utilizado por nós no dia-a-dia e é, sem dúvida, o mais importante dos sistemas numéricos. Trata-se de um sistema que possui dez algarismos, com os quais podemos formar qualquer número, através da sua lei de formação. Os sistemas binário, octal e hexadecimal são, por sua vez, muito importantes na área de técnicas digitais e computação. Este capítulo discorre sobre esses sistemas de numeração, assim como, a conversão de um sistema para outro. 2.2 – Sistema Decimal O sistema decimal é composto de 10 algarismos ou símbolos. Esses 10 símbolos são 0, 1, 2, 3, 4, 5, 6, 7, 8, 9. Utilizando esses símbolos como dígitos de um número, podemos expressar qualquer quantidade. Esse sistema é o mais conhecido e utilizado dentre todos os sistemas existentes. 2.3 – Sistema Binário O sistema de números binários fornece a base para um projeto digital e possui apenas dois algarismos: o algarismo 0 (zero), e, o algarismo 1 (um). Para representarmos a quantidade zero, utilizamos o algarismo (0), para representarmos a quantidade um utilizamos o algarismo (1). E para representarmos a quantidade dois, se nós não possuímos o algarismo (2) nesse sistema? É simples. No sistema decimal, nós não possuímos o algarismo dez e representamos a quantidade de uma dezena utilizando o algarismo (1) seguido do algarismo (0). Neste caso, o algarismo 1 significa que temos o grupo de uma dezena e o algarismo 0 nenhuma unidade, o que significa dez. No sistema binário agimos da mesma forma para representarmos a quantidade dois, utilizamos o algarismo 1 seguido do algarismo 0. O algarismo 1 significará que temos um grupo de dois elementos e o 0 um grupo de nenhuma unidade, representando assim o número dois. Após esta explicação, podemos notar que a numeração em binário é formada como mostra a Tabela 2.1. IESAM – Sistemas Digitais I – Profa. Josiane Rodrigues 2 Tabela 2.1 DECIMAL BINÁRIO 0 0 1 1 2 10 3 11 4 100 5 101 : : : : Observando-se a Tabela 2.1, percebe-se que um único bit nos permite descrever apenas dois valores possíveis; portanto, uma única variável binária tem um uso limitado. Porém, podemos utilizar grupos de bits para descrever situações mais complexas (por exemplo, descrever o número 2, como foi descrito anteriormente). Seguindo esse raciocínio, um grupo de 4 bits pode fornecer 16 combinações (que representam números) diferentes, pois, 24=16. Portanto, mesmo que um dígito binário possa ser apenas 0 ou 1, um segmento de dados de quatro bits pode ser utilizado para descrever uma situação em que podem ocorrer 16 possibilidades diferentes. Essa linha de raciocínio pode ser utilizada para construir grupos com um número arbitrário de bits. Por exemplo, o segmento de oito bits: Info = X7X6X5X4X3X2X1X0 É definido como sendo um único objeto que tem 28 = 256 possíveis combinações. De forma semelhante, um grupo de 16 bits tem 216 = 65 536 valores distintos a assim por diante. Grupos de dígitos binários podem ser usados para representar qualquer situação, desde que utilizemos um número suficiente de bits. Esta é a chave da utilização de números binários para a solução dos problemas do mundo real. Neste momento torna-se útil introduzir alguma terminologia para lidar com grupos de bits. Um grupo de bits é freqüentemente chamado de palavra, independentemente do número de bits envolvido. No exemplo acima Info é uma palavra de 8 bits. O número de bits (b) em uma palavra pode ou não ter significado, dependendo do sistema. No mundo dos microcomputadores, um byte (B) significa uma palavra de oito bits. Quando se discute sistemas binários, introduzem-se abreviações para certas potências de dois, como estão detalhadas na Tabela 2.2. Tabela 2.2 Tamanho da Palavra Número de Valores Abreviação para o Valor 8b 28=256 10b 210=1024 1Kb (kilobit) 16b 216=65 536 64Kb 20b 220=1 048 576 1Mb (megabit) 28b 228=268 435 456 256Mb 30b 230=1 073 741 824 1Gb (gigabit) IESAM – Sistemas Digitais I – Profa. Josiane Rodrigues 3 Como estas abreviações são baseadas no sistema de numeração binário, os prefixos correspondem a valores diferentes daqueles quando aplicados aos números da base-10 (decimais). Por exemplo, no sistema binário, 1Kb significa 1024 bits, enquanto seu uso convencional (por exemplo, em física ou eletrônica), 1K = 1000 = 103. De forma semelhante, 1Mb = 1024Kb. Deve-se também ter a cautela com a diferença entre um bit(b) e um byte(B). Desde que 1B=8b. É importante observar a separação entre eles. Por exemplo, o tamanho da memória principal de um computador pessoal é especificado como o número de bytes que ela pode armazenar. 2.3.1 – Representação dos Dados É possível utilizar palavras binárias para representar o qualquer coisa, desde que elas sejam definidas de maneira apropriada. Por exemplo, suponha que se queira descrever as quatro direções (esquerda, direita, frente e atrás) utilizando uma palavra binária. Como 22=4, necessitaremos de uma palavra de dois bits para descrever as quatro direções. Criando-se a palavra “direção” D=D1D0, em que D1 e D0 são bits. Uma vez criada a palavra, pode-se definir as seguintes associações: D = 00 Esquerda D = 01 Direita D = 10 Frente D = 11 Atrás Tais associações são completamente arbitrárias. Contudo, uma vez definidas, deve-se mantê-las intactas de tal forma que sempre se saiba o real valor a que D está associado. Por exemplo, a tradução da palavra D=01 significa “Direita”. Apesar de os bits por si só não terem nenhuma relação com as direções, as definições fornecem as associações apropriadas. O processo de dar significado a um grupo de bits é chamado de codificação e pode ser aplicado a qualquer situação que se deseja. Números e letras são itens usualmente mais codificados, mas pode-se representar qualquer grupo de objetos através de definições. O processo inverso da codificação, quando um número binário é interpretado para o nosso uso, é chamado de decodificação. Nessa operação, a informação codificada é utilizada para extrair o seu real significado. Por motivos óbvios, deve-se utilizar o mesmo esquema de codificação para decodificar uma palavra binária ou, de outra forma, você terá um grupo de bits sem qualquer significado. Figura 2.1 – O processo de codificação e decodificação. En tra da d e da do s C od ifi ca do r A unidade de processamento “processa” os dados D ec od ifi ca do r Sa íd a Saída binária Representação binária dos dados IESAM – Sistemas Digitais I – Profa. Josiane Rodrigues 4 O processo de codificação e decodificação necessita, muitas vezes, da conversão entre um sistema de numeração e outro, como veremos a seguir: 2.3.2– Conversão do Sistema Binário para o Sistema Decimal Considerando-se um número decimal qualquer, por exemplo, o número 594. Este número significa: 5 x 100 + 9 x 10 + 4 x 1 =594 5 x 102 + 9 x 101 + 4 x 100 = 594 Neste exemplo, nota-se que o algarismo menos significativo (no caso o quatro) multiplica a unidade (1 ou 100), o segundo algarismo ( o nove) multiplica a dezena (10 ou 101) e o mais significativo (no caso o 5) multiplica a centena (100 ou 102). A soma desses resultados irá representar o número, onde, a base desse sistema é o número 10 (dez). A base do sistema binário é o 2 (dois). Considerando-se, agora, um númerobinário qualquer, por exemplo, o número 101. Pela Tabela 2.1 observa-se que este equivale ao número 5 no sistema decimal. Utilizando-se o conceito básico de formação de um número, pode-se obter a mesma equivalência, convertendo assim o número 101 para o sistema decimal, tem-se: 1 x 22 + 0 x 21 + 1 x 20 1 x 4 + 0 x 2 + 1 x 1 = 5 Portanto, o número 101 na base 2 é igual ao número 5 na base 10. Exemplo 1 Converta o número binário de quatro bits N=0110 para o seu equivalente na base- 10. N= 0110 = (0 x 23) + (1 x 22) + (1 x 21) + (0 x 20) = (0x 8) + (1 x 4) + (1 x 2) + (0 x 1) = 4 + 2 = 6 O que mostra que 01102 é igual ao decimal 6. centena dezena unidade IESAM – Sistemas Digitais I – Profa. Josiane Rodrigues 5 Exemplo 2 Converta o número binário de 8 bits X=01011100 para o seu equivalente na base-10. X=01011100 = (0 x 27) + (1 x 26) + (0 x 25) + (1 x 24) + (1 x 23) + (1 x 22) + (0 x 21) + (0 x 20) = (0 x 128) + (1 x 64) + (0 x 32) + (1 x 16) + (1 x 8) + (1 x 4) + (0 x 2) + (0 x 1) = 64 + 16 + 8 + 4 =92 Exercícios Propostos Converta os seguintes números binários em decimal: a) 10011002 e) 100012 b) 11112 f) 10101102 c) 111112 g) 0110011001101012 d) 100002 h) 0,101102 2.3.3 – Conversão do Sistema Decimal para o Sistema Binário Como vimos, a necessidade da conversão do sistema binário para decimal é evidente, pois, se tivermos um número grande no sistema binário fica difícil perceber a quantidade que este representa. Transformando-se este número em decimal, o problema desaparece. A mudança de um número da base-10 (decimal) para o seu equivalente binário requer um pouco mais de trabalho do que a operação contrária. Aqui, apresentaremos uma técnica chamada de divisões sucessivas, que permite efetuar a operação de mudança de base. Considere um número decimal N. Para encontrar a palavra binária b equivalente, dividiremos, sucessivamente, o número N por 2, anotando o resto após cada divisão. O resto da divisão será um bit em b, Esta técnica é melhor entendida através de exemplos. Exemplo 3 Tomemos um número decimal qualquer, por exemplo, o número 47. Dividindo o número 47 por 2, temos: 10 221 251 2111 2231 247 Portanto 4710 = 1011112 IESAM – Sistemas Digitais I – Profa. Josiane Rodrigues 6 Exemplo 4 Convertendo o número 55210 em binário. 10 220 240 281 2170 2341 2690 21380 22760 2552 Portanto, 55210 = 10001010002 Exercícios Propostos: Converta os seguintes números decimais em binários: a) 7810 e) 80810 b) 10210 f) 54210 c) 21510 g) 1638310 d) 40410 h) 0,687510 2.4 - Sistema Octal O sistema de numeração octal é composto de 8 oito dígitos, os quais são: 0, 1, 2, 3, 4, 5, 6, 7 Para se contar acima de 7, neste sistema, veja Tabela 2.3, inicie uma nova coluna e continue: 10, 11, 12, 13, 14, 15, 16, 17, 20, 21, 22, ... A contagem em octal é similar à contagem em decimal, exceto que os dígitos 8 e 9 não são usados. A fim de distinguir os números octais dos decimais usamos o subscrito 8 para indicar que o número em questão é octal. Por exemplo, 158 em octal é equivalente a 1310 em decimal. Algumas vezes podemos encontrar “o” ou “Q” após o número, indicando que ele é octal. Após esta pequena introdução, podemos mostrar a seqüência da numeração octal: Tabela 2.3 – Números Octais. Decimal Octal 0 0 1 1 IESAM – Sistemas Digitais I – Profa. Josiane Rodrigues 7 2 2 3 3 4 4 5 5 6 6 7 7 8 10 9 11 10 12 11 13 12 14 13 15 14 16 15 17 16 20 17 21 : : 2.4.1 – Conversão do Sistema Octal para o Sistema Decimal Para convertermos um número octal em decimal, utilizamos os conceitos básicos de formação de um número. Vamos, por exemplo, converter o número 1448 em decimal: 82 81 80 1 4 4 108 10 012 100144 100432641484641848481 Exemplo 5 Converta o número 778 em decimal. 108 10 01 6377 6317878787 Exemplo 6 Converta o número 1008 em decimal. 108 10 012 64100 64808081 Obs.: Pelos exemplos acima, podemos concluir que após o 778 vem o 1008. IESAM – Sistemas Digitais I – Profa. Josiane Rodrigues 8 Exemplo 7 Converta o número 4768 em decimal. 108 10 012 318467 3186562561687644868784 Exercícios Propostos 1 - Converta para o sistema decimal os seguintes números octais: a) 148 b) 678 c) 1538 d) 15448 2 – Por que o número 158748 não pode ser um número octal? 2.4.2 - Conversão do Sistema Octal para o Sistema Binário Trata-se de uma conversão extremamente simples, podendo utilizar a regra prática descrita abaixo. Tomemos um número octal qualquer, por exemplo o número 27, a regra consiste em transformar cada algarismo no correspondente binário: 28 1011127 11170102 ( zero à esquerda é algarismo não significativo) Exemplo 8 Converta os seguintes números octais em binário: a) 348 28 111003410040113 b) 5368 28 101011110536110601131015 c) 446758 28 1110110010011014467510151117110610041004 Exercícios Propostos Converta os seguintes números octais em binários: a) 4778 b) 15238 c) 47648 d) 100008 e) 43218 IESAM – Sistemas Digitais I – Profa. Josiane Rodrigues 9 2.4.3 - Conversão do Sistema Binário para o Sistema Octal Tomemos um número binário qualquer, por exemplo, o número 1100102. Para transformarmos esse número em octal, vamos separá-lo em grupos de três algarismos a partir da direita: 110 010 Fazemos, agora, a conversão de cada grupo de algarismo para o sistema decimal. Podemos notar que o maior número que se pode formar com três algarismos binários é o 7. Esta conversão irá resultar diretamente no número no sistema octal: 26 010110 82 62010:110 Em caso do último número se formar incompleto, adicionamos zeros à esquerda, até completá-lo com três algarismos. Para exemplificar, vamos converter o número 10102 em octal: 0101 Acrescentamos zeros à esquerda até completarmos o grupo de três algarismos: 010001 A partir daí, utilizamos o processo já visto: 21 010001 82 121010 Exemplo 9 Converta os seguintes números binários em octal: a) 101112 72 2710111111010 82 b) 110101012 523 32511010101101010011 82 c) 10001100112 3601 10631000110011011110000001 82 Exercícios Propostos Converta os seguintes números binários em octal: a) 10112 d) 10000000012 b) 100111002 c) 1101011102 IESAM – Sistemas Digitais I – Profa. Josiane Rodrigues 10 2.4.4 – Conversão do Sistema Decimal para o Sistema Octal Existem dois métodos para efetuarmos esta conversão. O primeiro é análogo à conversão do sistema decimal para o binário, somente que nesse caso, utilizaremos a divisão por 8, pois o sistema é octal. Vamos converter o número 9210 para o sistema octal: 92 8 4 11 8 3 1 810 13492 O outro método consiste na conversão do número decimal em binário e logo após, na conversão do sistema binário em octal. Aparentemente é mais trabalhoso, porém, poderemos notar, em aplicações posteriores, que este método é de grande praticidade. Vamos converter o número 9210 em octal, utilizando o segundo método: 10 221 251 2111 2230 2460 292 210 101110092 431 13492100011001 810 Exemplo 10 Converta o número 7410 em octal.1o método: 11 892 874 810 11274 IESAM – Sistemas Digitais I – Profa. Josiane Rodrigues 11 2o método: 10 220 241 290 2181 2370 274 210 100101074 211 11274010001001 810 Exemplo 11 Converta o número 51210 em octal: 1o método: 10 880 8640 8512 810 1000512 2o método: 210 9 10 10000000005122512 0001 1000512000000000001 810 IESAM – Sistemas Digitais I – Profa. Josiane Rodrigues 12 Exemplo 12 Converta o número 71910 em octal: Vamos resolver, utilizando o segundo método: 10 221 251 2110 2220 2441 2891 21791 23591 2719 210 1011001111719 7131 1317719111001011001 810 Exercícios Propostos Converta os seguintes números decimais em octal: a) 10710 b) 18510 c) 204810 d) 409710 2.5 - Sistema Hexadecimal O hexadecimal é um sistema de base-16, que utiliza os seguintes 16 símbolos como dígitos básicos: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F Observe que A, B, C, D, E e F são utilizados como dígitos e não como letras. Os dígitos em letras minúsculas (a, b, c, d, e, f) são também utilizados na prática. Uma palavra em base-16 consiste em dígitos hexadecimais organizados em uma ordem específica, com o dígito mais significativo à esquerda e o menos significativo à direita. Por exemplo, H = 304E é uma palavra hexadecimal válida, na qual 3 é o dígito mais significativo e o E é o menos significativo. IESAM – Sistemas Digitais I – Profa. Josiane Rodrigues 13 2.5.1 - Conversão do Sistema Hexadecimal para o Sistema Decimal Para encontrar o equivalente N na base-10 (decimal) de uma palavra hexadecimal H = h3 h2 h1 h0 de 4 dígitos, utiliza-se a fórmula: N = h3 x 163 + h2 x 162 + h1 x 161 + h0 x 160 A qual pode ser estendida para uma palavra hexadecimal de tamanho arbitrário. Para mudar um número da base-10 para seu equivalente na hexadecimal, usam-se sucessivas divisões por 16. A Tabela 2.3 mostra a mudança entre números hexadecimais, decimais e binários. Tabela 2.3 – O sistema de numeração hexadecimal utiliza dígitos de 0 a F. Hexadecimal Decimal Binário 0 0 0000 1 1 0001 2 2 0010 3 3 0011 4 4 0100 5 5 0101 6 6 0110 7 7 0111 8 8 1000 9 9 1001 A 10 1010 B 11 1011 C 12 1100 D 13 1101 E 14 1110 F 15 1111 Exemplo 13 3F = 3 x 161 + F x 160 = (F16 = 1510) = 3 x 161 + 15 x 160 = 3 x 16 + 15 x 1 = 6310 3F16 = 6310 Exemplo 14 1C3 = 1 x 162 + 12 x 161 + 3 x 160 = 1 x 256 + 12 x 16 + 3 x 1 = 45110 1C316 = 45110 IESAM – Sistemas Digitais I – Profa. Josiane Rodrigues 14 Exercícios Propostos: Converta para o sistema decimal os seguintes números hexadecimais: a) 47916 b) 4AB16 c) BDE16 d) FOCA16 e) 2D3F16 2.4.2 - Conversão do Sistema Hexadecimal para o Sistema Binário Neste tipo de conversão, separamos os algarismos hexadecimais e procuramos os seu equivalente no sistema binário, com quatro algarismos. Tomemos os exemplos abaixo: Exemplo 15 Converta o número C1316 para o sistema binário: C 1 3 1100 0001 0011 C1316 = 1100000100112 Exemplo 16 Converta o número 6CF916 para o sistema binário: 6 C F 9 0110 1100 1111 1001 6CF916 = 0110110011111001 Exercícios Propostos 1) 8416 2) 7F16 3) 3B8C16 4) 47FD16 2.4.3 - Conversão do Sistema Binário para o Sistema Hexadecimal Na análise lógica digital, geralmente utilizam-se bastante os números hexadecimais para representar palavras binárias de quatro bits. É importante aprender sobre números hexadecimais, pois esta representação simplificará, consideravelmente, nossa notação. A equivalência entre dígitos hexadecimais e palavras binárias de quatro bits é fácil de ser entendida pela Tabela 2.3. Além disso, esta mudança de base pode ser aplicada a IESAM – Sistemas Digitais I – Profa. Josiane Rodrigues 15 palavras binárias de comprimento arbitrário, simplesmente agrupando, a partir da direita, os bits em grupos de quatro. Exemplo 17 Iniciaremos com a palavra binária de 16 bits 1001110011100101. Dividindo-a em grupos individuais de quatro bits e encontrando o seu equivalente no sistema hexadecimal, temos: 1001 1100 1110 01012 = 9CE516 Exercícios Propostos a) 100112 b) 11100111002 c) 1001100100112 d) 11111011112 2.4.4 - Conversão do Sistema Decimal para o Sistema Hexadecimal Existem dois métodos de conversão: o primeiro método utiliza a divisão sucessiva do número decimal por 16, a base do sistema hexadecimal. O segundo método consiste em transformar primeiramente o número decimal em binário e logo a seguir em hexadecimal, como demonstrado abaixo: Exemplo 18 Converta o número decimal 1000 para o sistema hexadecimal. 1o método 314 16628 161000 Sabendo-se que 14 na base 16 é E, 100010 = 3E816 IESAM – Sistemas Digitais I – Profa. Josiane Rodrigues 16 2o método 11 231 271 2151 2310 2621 21250 22500 25000 21000 0011 1110 1000 3 E 8 Exercícios Propostos Converta os seguintes números decimais em hexadecimais: a) 48610 b) 200010 c) 409610 d) 555510 e) 3547910 Bibliografia: 1 – Sistemas Digitais – Princípios e Aplicações, Tocci e Widmer, 7a edição, ed. LTC; 2 – Elementos de Eletrônica Digital – Ivan V. Idoeta e Francisco G. Capuano, 19a edição, ed. Érica. 100010 = 3E816
Compartilhar