Baixe o app para aproveitar ainda mais
Prévia do material em texto
Curso de Bacharelado em Tecnologia da Informação Introdução à Computação e aos Sistemas de Informação (60h/a) Sistemas de Numeração (Parte II) Aula 05 Prof. Lenardo Chaves e Silva, D.Sc. lenardo@ufersa.edu.br quinta-feira, 03 de agosto de 2017 Universidade Federal Rural do Semi-Árido (UFERSA) ���'½PGYPS�2YQÅVMGS� ���%YPE�� Tópicos 2 http://www.chetu.com Sistemas de Numeração (Parte II): Conversões entre os Sistemas de Numeração: Conversão Binário-Decimal; Conversão Decimal-Binário; Conversão Binário-Hexadecimal; Conversão Hexadecimal-Binário; Conversão Decimal-Hexadecimal; Conversão Hexadecimal-Decimal. Referências. lenardo@ufersa.edu.br Vimos também... 5 http://www.chetu.com lenardo@ufersa.edu.br Computador Digital Tudo são Números! Sistemas de Numeração: Decimal: 10 símbolos (base 10); Binário: 2 símbolos (base 2); Octal: 8 símbolos (base 8); Hexadecimal: 16 símbolos (base 16). FONTE: http://www.bbc.co.uk/education/guides/z26rcdm/revision CONVERSÃO Sinais Elétricos ON e OFF Sequência de 1s e 0s Conversão entre os Sistemas de Numeração 6 http://www.chetu.com lenardo@ufersa.edu.br 1. Conversão de Binário para Decimal 1.1 Técnica: somar os pesos das posições que contém o bit 1. Exemplos: Número Binário: 110112 1 1 0 1 1 24 + 23 + 0 + 21 + 20 = 16 + 8 + 2 + 1 = 2710 Número Binário: 101101012 1 0 1 1 0 1 0 1 27 + 0 + 25 + 24 + 0 + 22 + 0 + 20 = 128 + 32 + 16 + 4 + 1 = 18110 Método Padrão � Conversão entre os Sistemas de Numeração 7 http://www.chetu.com lenardo@ufersa.edu.br 1. Conversão de Binário para Decimal 1.2 Técnica: Double-Dabble. Exemplos: Número Binário: 110112 1 1 0 1 1 1x2 = 2 +1 3x2 = 6 +0 6x2 = 12 +1 13x2 = 26 +1 2710 Método Double-Dabble: 1. Escreva o bit 1 mais à esquerda no número binário; 2. Multiplique-o por 2 e adicione o próximo bit à direita; 3. Escreva o resultado abaixo do próximo bit; 4. Continue com os passos 2 e 3 até finalizar com o número binário. Conversão entre os Sistemas de Numeração 8 lenardo@ufersa.edu.br 2. Conversão de Decimal para Binário 2.1 Técnica: processo inverso ao descrito em 1.1. Exemplos: Número Decimal: 4510 25 + 24 + 23 + 22 + 21 + 20 32 16 8 4 2 1 = 1 0 1 1 0 1 = 1011012 Número Decimal: 7610 26 + 25 + 24 + 23 + 22 + 21 + 20 64 32 16 8 4 2 1 = 1 0 0 1 1 0 0 = 10011002 Método Padrão Conversão entre os Sistemas de Numeração 9 lenardo@ufersa.edu.br 2. Conversão de Decimal para Binário 2.2 Técnica: Divisão Repetida por 2. Exemplo: Número Decimal: 2510 Método da Divisão Repetida: 1. Divida o número decimal por 2; 2. Escreva o resto após cada divisão; 3. Continue com os passos 1 e 2 até obter um quociente igual a zero; 4. O primeiro resto equivale ao LSB e o último resto ao MSB. Exemplos: Número Decimal: 3710 Conversão entre os Sistemas de Numeração 10 lenardo@ufersa.edu.br 2. Conversão de Decimal para Binário SIM INÍCIO Divida por 2 Registre o quociente (Q) e o resto (R) Recolha os R’s no número binário desejado com o primeiro R como LSB e o último R como MSB FIM NÃO É Q = 0? F lu xo gr a m a d o M ét od o d a D iv is ã o R ep et id a DICA: Você pode usar a calculadora para fazer as divisões por 2. Se o resultado da divisão for exato, o resto é 0, caso contrário, o resto é 1. = 1001012 Q R 2 37 1 2 18 0 2 9 1 2 4 0 2 2 0 2 1 1 0 Sistema Binário (base 2) e Sistema Decimal (base 10): Conversão entre os Sistemas de Numeração 11 lenardo@ufersa.edu.br Qual o valor de 11011010112 em Decimal? Qual o valor de 25110 em Binário? Conversão entre os Sistemas de Numeração 12 http://www.chetu.com lenardo@ufersa.edu.br 3. Conversão de Hexadecimal para Decimal Técnica: somar os produtos de cada dígito hex por seus pesos. Exemplos: Número Hexa: 35616 Número Hexa: 2AF16 = (3 x 162) + (5 x 161) + (6 x 160) = 768 + 80 + 6 = 85410 = (2 x 162) + (10 x 161) + (15 x 160) = 512 + 160 + 15 = 68710 Note que no segundo exemplo o valor 10 foi substituído por A e o valor 15 por F na conversão para decimal. Conversão entre os Sistemas de Numeração 13 http://www.chetu.com lenardo@ufersa.edu.br 4. Conversão de Decimal para Hexadecimal Técnica: Divisão Repetida por 16. Exemplos: Número Decimal: 42310 Número Decimal: 21410 DICA: Você pode usar a calculadora para fazer as divisões por 16. Porém, o resultado irá incluir uma fração decimal em vez de um resto. O resto da divisão pode ser obtido multiplicando a fração por 16. Sistema Hexadecimal (base 16) e Sistema Decimal (base 10): Conversão entre os Sistemas de Numeração 14 lenardo@ufersa.edu.br Qual o valor de 1BC216 em Decimal? Qual o valor de 42810 em Hexadecimal? Conversão entre os Sistemas de Numeração 15 http://www.chetu.com lenardo@ufersa.edu.br 5. Conversão de Hexadecimal para Binário Técnica: cada dígito hexa é convertido em seu equivalente binário de quatro bits. Exemplos: Número Hexa: BA616 Número Hexa: 9F216 9 F 2 1 0 0 1 1 1 1 1 0 0 1 0 = 1001111100102 B A 6 1 0 1 1 1 0 1 0 0 1 1 0 = 1011101001102 DICA: Zeros podem ser adicionados à esquerda do MSB para preencher o último grupo de 4 bits. Conversão entre os Sistemas de Numeração 16 lenardo@ufersa.edu.br 6. Conversão de Binário para Hexadecimal Técnica: processo inverso ao descrito em 5. 1. Agrupar bits em grupos de 4 a partir do LSB; 2. Converter cada grupo para o hexadecimal equivalente. Exemplos: Número Binário: 11101001102 Número Binário: 1010111112 0 0 1 1 1 0 1 0 0 1 1 0 { { { 3 A 6 = 3A616 0 0 0 1 0 1 0 1 1 1 1 1 { { { 1 5 F = 15F16 Conversão entre os Sistemas de Numeração 17 lenardo@ufersa.edu.br 6. Conversão de Binário para Hexadecimal HEXADECIMAL BINÁRIO 0 0000 1 0001 2 0010 3 0011 4 0100 5 0101 6 0110 7 0111 8 1000 9 1001 A 1010 B 1011 C 1100 D 1101 E 1110 F 1111 Conheça os números binários de quatro bits (0000 - 1111) e seus dígitos hexadecimais equivalentes. Sistema Hexadecimal (base 16) e Sistema Binário (base 2): Conversão entre os Sistemas de Numeração 18 lenardo@ufersa.edu.br Qual o valor de 6FD16 em Binário? Qual o valor de 10001110112 em Hexadecimal? Contagem no Sistema Hexadecimal: Cada posição do dígito (de 0 à F) incrementado em + 1: Exemplo: ... 38, 39, 3A, 3B, 3C, 3D, 3E, 3F, 40, 41, ... +1 39 +1 3A +1 3B +1 3C +1 3D +1 3E +1 3F +1 40 +1 41 +1 ... Sistemas de Numeração 19 lenardo@ufersa.edu.br Quando há um 9 na posição de um dígito, ele torna-se um A quando ele é incrementado. Ao atingir a posição com valor F, ela é redefinido para 0 e a próxima posição do dígito é incrementada. Com n dígitos hexadecimais: contagem 0 à 16n – 1 Ex.: n = 3 00016 até FFF16 = 010 até 409510 - um total de 4096 = 16 3 valores. Utilidade do Sistema Hexadecimal: Sistemas Digitais: Representar grandes (e.g., acima de 64bits) cadeias de bits (i.e., abreviação): Exemplo: Não apenas valores numéricos,mas também informações não numéricas códigos. Vantagens: Conveniência lidar com um grande número de bits; Facilitar a manipulação (e.g., escrita) reduzir a propensão a erros; Conversão facilitada: hex binário. Sistemas de Numeração 20 lenardo@ufersa.edu.br Você prefere verificar 50 números como este 01101110011001112 ou 50 números como este 6E6716? Conversão de Decimal para Hexadecimal para Binário: Conversão entre os Sistemas de Numeração 21 lenardo@ufersa.edu.br Qual o valor de 37810 em Binário usando o número em Hexadecimal como primeira etapa da conversão? Conversão de Números Fracionários: Decimal para outros sistemas: Operação inversa: multiplicar a parte fracionária pela base até que a parte fracionária do resultado seja zero. Conversão entre os Sistemas de Numeração 22 lenardo@ufersa.edu.br Exemplos: Número Decimal: 8,37510 • Parte Inteira: 810 = 10002 • Parte Fracionária: 0,37510 0,375 x 2 0,750 0 0,750 x 2 1,500 1 0,500 x 2 1,000 1 0,000 = 0112 = 1000,0112 Aritmética Binária 4lenardo@ufersa.edu.br Adição Binária Regras: OPERANDOS BINÁRIOS SOMA (S) TRANSPORTE (Carry1)A B 0 0 0 0 0 1 1 0 1 0 1 0 1 1 0 1 1 1 1 1 1 Carry A B + S RESULTADO 0 1 1 10 11 1 “Vai-um” para a posição de ordem superior p/ esquerda: +1 Caso Especial: 12 + 12 = 102 = 210 01 + 01 10 No Sistema Decimal: 1610 + 710 = 2310 +1 (dezena ) 1 6 + 7 2 3 Aritmética Binária 5lenardo@ufersa.edu.br Adição Binária Exemplos: 1. Adicionar (1010)2 e (0101)2 1010 + 0101 1111 = 1010 = +510 = 1510 10 = 1010 11 = + 1011 10101 = 2110 3. Adicionar 1011,0112 e 110,12 1011,011 + 110,1 10001,111 = 11,37510 = +6,510 = 17,87510 4. Adicionar 4,2510, 7,7510 e 810 em binário 4,25 = 100,01 7,75 = 111,11 8,00 = + 1000,00 10100,002 = 20,0010 11 2. Adicionar 1010 e 1110 em binário 00 111 11111 1 Aritmética Binária 6lenardo@ufersa.edu.br Subtração Binária Regras: OPERANDOS BINÁRIOS DIFERENÇA (D) EMPRÉSTIMO (Borrow2)A B 0 0 0 0 0 1 1 10 1 0 1 0 1 1 0 0 Borrow A B - S RESULTADO 0 1 1 0 2 “Vem-um” da posição de ordem superior da esquerda: 0 +10 = 210 Caso Especial: 102 - 12 = ? 1 0 - 1 1 No Sistema Decimal: 2410 - 1710 = 710 1 +10 2 4 - 1 7 0 7 Aritmética Binária 7lenardo@ufersa.edu.br Subtração Binária Exemplos: 1. Subtrair (10101)2 de (11011)2 11011 - 10101 00110 = 2710 = -2110 = 610 2. Subtrair 1010 de 2210 em binário 22 = 10110 10 = - 1010 01100 = 1210 1 0 3. Subtrair 1010 de 1610 em binário 16 = 10000 10 = - 1010 00110 = 610 12 12 02 4. Subtrair 410 de 910 em binário +9 = 01001 +4 = 00100 = +510 Complemento de 2: +42 = 00100 -42 = 11011 cp1 + 1 11100 +9 = 01001 -4 = +11100 100101 10 Subtraindo uma unidade do minuendo à esquerda! Somando uma unidade ao subtraendo à esquerda! Representando Grandezas com Sinal 8lenardo@ufersa.edu.br Sistema Sinal-Magnitude: MSB sinal: 0 número positivo; 1 número negativo. Demais bits grandeza (i.e., magnitude): Valor dos bits independe do sinal. Magnitude = 5210 Magnitude = 5210 Bit de Sinal (+) Bit de Sinal (-) R e gi st ra d o re s d e 6 b it s Representando Grandezas com Sinal 9lenardo@ufersa.edu.br Sistema Sinal-Magnitude: Exemplos: 8 bits Obs.: Representação em binário com n bits: Sinal = 1 bit (MSB); Magnitude = n-1 bits. VALOR DECIMAL VALOR BINÁRIO (Bit Sinal + 7 Bits de Magnitude) +9 00001001 -9 10001001 +127 01111111 -127 11111111 Representando Grandezas com Sinal 10lenardo@ufersa.edu.br Sistema de Complemento de 2: Principal representação para números binários com sinal; Passos: 1. Converter o número binário para a forma Complemento de 1: 2. Converter da forma Complemento de 1 para Complemento de 2: Adicionar +1 ao LSB do número na forma do Complemento de 1. Número Binário Original Trocar cada bit pelo seu bit oposto (i.e., 0 1 e 1 0) 1 0 1 1 0 1 0 1 0 0 1 0 0 1 0 0 1 0 + 1 0 1 0 0 1 1 Complemento de 2 Complemento de 1 Representando Grandezas com Sinal 11lenardo@ufersa.edu.br Sistema de Complemento de 2: Número Positivo (MSB = 0): bit 0 + forma binária original. Número Negativo (MSB = 1): bit 1 + complemento de 2. Binário Original Complemento de 2 Bit de Sinal (+) Bit de Sinal (-) DICA: Esse sistema é importante porque permite que o computador digital execute a operação de subtração binária por meio da adição binária. 0’s + 1’s + N ão h á al te ra çã o d e v al o r! Aritmética Binária 12lenardo@ufersa.edu.br Subtração Binária no Sistema de Complemento de 2: No exemplo... 4. Subtrair 410 de 910 em binário +9 = 01001 e +4 = 00100 = +510 Passo 1: Complemento de 2: +42 = 00100 -42 = 11011 cp1 + 1 11100 Passos 2 e 3: +9 = 01001 -4 = +11100 100101 A - B = A + (-B) Passos: 1. Negar o subtraendo usando o sistema de complemento de 2; 2. Adicionar o resultado ao minuendo. Se o minuendo for negativo, aplicar também o complemento de 2; 3. A resposta representa a diferença. Aritmética Binária 13lenardo@ufersa.edu.br Multiplicação Binária Regras: OPERANDOS BINÁRIOS PRODUTO (P1)A B 0 0 0 0 1 0 1 0 0 1 1 1 RESULTADO 0 0 0 1 2 O produto de dois números binários é igual a 1, somente se ambos os operandos são 1, caso contrário o produto é igual a 0. Aritmética Binária 14lenardo@ufersa.edu.br Multiplicação Binária Exemplos: = 3510 1. Multiplicar 710 por 510 em binário 710 = 111 510 = x 101 111 000 + 111 100011 111 = 13210 2. Multiplicar 2210 por 610 em binário 2210 = 10110 610 = x 110 00000 10110 + 10110 10000100 1111 Aritmética Binária 15lenardo@ufersa.edu.br Divisão Binária Regras: OPERANDOS BINÁRIOS DIVISÃO3 A B 0 1 0 1 1 1 RESULTADO 0 1 3 Divisão por zero não é permitida. Aritmética Binária 16lenardo@ufersa.edu.br Divisão Binária Exemplos: 1. Dividir 7510 por 310 em binário 7510 = 1001011 310 = 11 2. Dividir 110012 por 102 = 1001011 11 -11 11001 0011 -11 00011 -11 (0) { = 2510 110012 = 2510 102 = 210 = 11001 10 -10 1100,1 010 -10 0001 -00 (1) { = 12,510 Estouro Aritmético 17lenardo@ufersa.edu.br Estouro de Bits (Overflow): Ocorrência: Na adição, apenas quando dois números positivos/negativos são adicionados; Na subtração, apenas quando o minuendo e subtraendo possuem sinais diferentes. Exemplo: Detecção: Verificar se o bit de sinal do resultado é idêntico aos bits de sinais dos números que estão sendo adicionados. Magnitude Incorreta (i.e., 4 bits) +9 0 1 0 0 1 +8 0 1 0 0 0 1 0 0 0 1{ Sinal Incorreto (-) Resposta Correta: +1710 = 000100012 TOCCI, R. J.; WIDMER, N. S.; MOSS, G. L. Sistemas digitais: Princípios e Aplicações. 11ª ed. São Paulo: Prentice Hall, 2011. 840p. Cap. 2 e 6. CAPUANO, F. G.; IDOETA, I. V. Elementos da eletrônica digital. 41. ed. São Paulo: Érica, 2012. 544p. Referências 18lenardo@ufersa.edu.br
Compartilhar