Baixe o app para aproveitar ainda mais
Prévia do material em texto
Agenda Conversão entre as bases: base decimal -> base b Conversão entre as bases: outras conversões Exercícios Códigos BCD, Gray e ASCII 42 Conversão entre bases Base decimal → Base b Método das divisões sucessivas A conversão é obtida dividindo-se sucessivamente o número decimal pelo valor da base desejada O resto da primeira divisão é o dígito menos significativo (mais à direita) O quociente obtido é dividido novamente e assim sucessivamente enquanto for maior ou igual à base b A sequência do último quociente e de todos os restos formam o número na base b 43 Exemplo: Decimal → Binária Conversão entre bases Base decimal → Base b Método das divisões sucessivas A conversão é obtida dividindo-se sucessivamente o número decimal pelo valor da base desejada O resto da primeira divisão é o dígito menos significativo (mais à direita) O quociente obtido é dividido novamente e assim sucessivamente enquanto for maior ou igual à base b A sequência do último quociente e de todos os restos formam o número na base b 44 10001012 Exemplo: Decimal → Binária Conversão entre bases Base decimal → Base b Números decimais Parte inteira é convertida usando o método das divisões sucessivas 45 Conversão entre bases Base decimal → Base b Números decimais A fração é convertida usando multiplicações sucessivas A fração é multiplicada pela base b. A parte inteira resultante é um dígito do número na base b A fração resultante é multiplicada novamente produzindo um novo dígito O processo se repete até a parte fracionária ser 0 ou até atingir o número desejado de dígitos após a vírgula (precisão) 46 Conversão entre bases Base decimal → Base b 47 com 1 bit após a vírgula: 1000,1 → 8,5000000 com 4 bits após a vírgula: 1000,1011 → 8,6875000 com 11 bits após a vírgula:1000,10110011001 → 8,6958008 Número 8,7 Lei da Formação Conversão entre bases Base decimal → Base b Números decimais A fração é convertida usando multiplicações sucessivas Exemplo: 23,375 para a base binária 23/2 = 11, resto 1 11/2 = 5, resto 1 5/2 = 2, resto 1 2/2 = 1, resto 0 101112 = 23 48 Conversão entre bases Base decimal → Base b Números decimais A fração é convertida usando multiplicações sucessivas Exemplo: 23,375 para a base binária 0,375 * 2 = 0,75 0,75 * 2 = 1,5 0,5 * 2 = 1,0 10111,0112 = 23,375 49 Conversão entre bases Base decimal → Base b Exemplo: conveter 173 para as bases 2, 16 e 8 Base 2 (binária) 173/2 = 86, resto 1 86/2 = 43, resto 0 43/2 = 21, resto 1 21/2 = 10, resto 1 10/2 = 5, resto 0 5/2 = 2, resto 1 2/2 = 1, resto 0 101011012 50 Conversão entre bases Base decimal → Base b Exemplo: conveter 173 para as bases 2, 16 e 8 Base 16 (hexadecimal) 173/16 = 10 (A16), resto 13 (D16) AD16 Base 8 (octal) 173/8 = 21, resto 5 21/8 = 2, resto 5 2558 51 Conversão entre bases Base decimal → Base b Converter para a base binária 128 129 10,25 1023 1024 52 → 100000002 → 100000012 → 1010,012 → 11111111112 → 100000000002 Conversão entre bases Base decimal → Base b 1023 → Base hexadecimal 0x3FF 1024 → Base hexadecimal 0x400 100 → Base octal 1448 240 → Base 6 10406 255 → Base 5 20105 10,25 → Base 4 22,14 170 → Base 3 200223 53 Conversão entre bases Base binária → Base hexadecimal Método da substituição direta Divide-se o número binário em grupos 4 bits (a partir do menos significativo) e converte-se cada grupo em um dígito hexadecimal 10111111001010112 → 1011 1111 0010 1011 = BF2B16 O grupo mais a esquerda pode ter menos de 4 bits 1110102 → 11 1010 = 3A16 Base hexadecimal → Base binária Converte-se cada dígito hexadecimal em um número binário de 4 bits 1216 → 0001 0010 = 100102 A32F16 → 1010 0011 0010 1111 = 10100011001011112 54 Conversão entre bases Base binária → Base octal Método da substituição direta Divide-se o número binário em grupos 3 bits (a partir do menos significativo) e converte-se cada grupo em um dígito octal 1010102 → 101 010 = 528 O grupo mais a esquerda pode ter menos de 3 bits 101010112 → 10 101 011 = 2538 Base octal → Base binária Converte-se cada dígito octal em um número binário de 3 bits 128 → 001 010 = 10102 12348 → 001 010 011 100 = 10100111002 55 Conversão entre bases Base binária ↔ Base hexadecimal 1001 010100012 95116 10100001 010000102 A14216 10111111 01111100 10011110 100101012 BF7C9E9516 F5A216 1111 0101 1010 0010 → 11110101101000102 101011116 0001 0000 0001 0000 0001 0001 0001 → 10000000100000001000100012 ABCDEF987616 1010 1011 1100 1101 1110 1111 1001 1000 0111 0110 → 10101011110011011110111110011000011101102 56 Conversão entre bases Base binária ↔ Base octal 10111012 1001 010100012 11100001 110000102 7538 52368 10101118 57 Conversão entre bases Base binária ↔ Base octal 10111012 1358 1001 010100012 45218 11100001 110000102 1607028 7538 111 101 011 → 1111010112 52368 101 010 011 110 → 1010100111102 10101118 001 000 001 000 001 001 001 → 10000010000010010012 58 RESUMO: Conversão Base b → Base decimal Lei da formação Base decimal → Base b Divisões sucessivas para a parte inteira Multiplicações sucessivas para a parte fracionária Base binária ↔ Base hexadecimal Substituição direta Base binária ↔ Base octal Substituição direta 59 Códigos Binário-Decimais Gray, BCD e ASCII O que é um código? Quando números, letras ou palavras são representados por um grupo especial de símbolos, dizemos que eles estão codificados. O grupo de símbolos utilizado é denominado código. Ex. código morse. Um número pode ser representado pelo número binário equivalente, resultado da conversão direta. Se o número for representado pelo seu binário equivalente, dizemos que é uma codificação em binário puro. Há codificações que não são em binário puro para simplificar as conversões ou outra vantagem. Por exemplo: o BCD, o código Gray ou binário refletido (sistema de código binário inventado por Frank Gray - Físico e pesquisador do Bell Labs, faleceu em 1969). 61 Conjunto organizado de sinais em que a informação é transformada para efetivar o processo de comunicação Código BCD Definição Binary-Coded Decimal (Decimal Codificado em Binário) É uma maneira muito utilizada de apresentar números decimais em formato binário; BCD significa que cada dígito decimal, de 0 a 9, é representado por um código binário de quatro bits Base decimal: 10 dígitos (0-9); 2^3(bits) = 8 números binários; 2^4(bits) = 16 números binários; Conversão Decimal-BCD: cada dígito decimal é convertido em um binário equivalente 62 Código BCD Exemplo: Converter o número 710 em BCD 710 = 0111(BCD) Converter o número 87410 em BCD 63 Código BCD Exemplo: Inverta o processo para converter o BCD para decimal 0111(BCD) = 710 Divida o número BCD em grupos de 4 bits e converta cada um para decimal 64 Código BCD Exemplo: Inverta o processo para converter o BCD para decimal 0111(BCD) = 710 Divida o número BCD em grupos de 4 bits e converta cada um para decimal 65 Código BCD Importante: cada grupo de 4 bits não pode ser superior a 9 Caso isto ocorrer, representa um erro no número BCD 1010,1011,1100,1101,1110,1111? Códigos não utilizados; 66 Código BCD Mais exemplos 15(10) = 1111(BCD)? 99(10) = 1001 1001(BCD) 100(10)? 0001 0101(BCD) 0001 0000 0000(BCD) 67 Código BCD Aplicação Calculadoras 68 Conversão BCD Operação (Resultado em BCD) entrada do teclado numérico Decod. BCD-7seg. Resultado Display aritmética BCD *Veremos mais adiante na disciplina a teoria sobre codificadores e decodificadores Código Gray Definição O código Gray foi definido a fim de reduzir a probabilidade de um circuito digital interpretar mal uma entrada que está mudando Todos números sucessivos codificados em Código Gray possuem apenas 1 bit diferente entre si 69 Gray não é um código aritmético, ou seja, não existem pesos associados às posições dos bits Gray é chamado cíclico se a primeira e a última sequência de números na lista também diferem em apenas uma posição Código Gray Algoritmo de codificação (Binário-Gray) Algoritmo de codificação (Binário-Gray): MSB - copiado Bn-2 Bn-1 + Bn-2 ,…, B1 B1 + B0 70 operação XOR (próximas aulas...) Figura do livro: Sistemas Digitais Princípios e Aplicações (R. J. Tocci) B2 B1 B0 Código Gray Algoritmo de codificação (Binário-Gray) Algoritmo de codificação (Binário-Gray): MSB - copiado Bn-2 Bn-1 + Bn-2 ,…, B1 B1 + B0 Exemplo: 510 1012 1 0 1 Binário 1 1 1 Gray Gray1 1 1 Binário1 0 1 111(gray) 1012 71 operação XOR (próximas aulas...) Código Gray Exemplo de conversão “usando” a soma Converter o número binário 10110 para o código Gray: Converter o número representado em código Gray 11011 para binário: 72 73 Código Gray (Binário Refletido) Binário Refletido 0 1 1 0 Código Gray (n=2) 0 1 1 0 0 1 1 0 0 0 1 1 1 1 0 0 Código Gray (n=3) 0 0 0 0 1 1 1 1 0 1 1 0 0 1 1 0 0 0 1 1 1 1 0 0 0 0 0 0 1 1 1 1 0 1 1 0 0 1 1 0 0 0 1 1 1 1 0 0 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 Código Gray (n=4) 0 1 Código Gray (n=1) espelho Para a obtenção do código deve-se fazer um rebatimento das palavras códigos e completar os códigos acima do "espelho" com 0 a esquerda e os códigos abaixo do espelho com 1 a esquerda. espelho 0 0 1 1 espelho Código Gray Aplicação Em qualquer circuito, a fim de evitar glitches/spikes Codificadores de posição Mapa de Karnaugh (assunto para aula posterior) Codificação dos estados em máquinas de estados A codificação escolhida (em projeto manual ou software) influi no hardware gerado (Disciplina: Projeto de Sistemas Digitais) Exemplo ilustrativo: Lançamento de um foguete espacial Contagem regressiva Partida gradual do sistema de propulsão do foguete Glitches podem fazer com que o foguete seja lançado antes do tempo previsto 74 Código Gray (Binário Refletido) Cenário de Aplicação “ilustrativo” 1010 1001 1000 0111 0110 0101 0100 0011 0010 0001 0000 Partida do sistema propulsor 100% de Potência 1 0 0 0 0 1 1 1 1000 0111 1111 1101 1100 0100 0101 0111 0110 0010 0011 0001 0000 Comutação de apenas 1 bit entre códigos sucessivos (Binário) (Gray) Ponto crítico: alteração em 4 bits Período de transição: os números 0000, 0001, 0011 são possíveis 0 0 0 0 0 0 0 1 0 0 1 1 (10) (9) (8) (7) (6) (5) (4) (3) (2) (1) (0) 75 Código Gray (Binário Refletido) Codificador de posição (encoder) Neste exemplo estão sendo usados apenas 3 bits 76 Código Gray (Binário Refletido) Codificador de posição (encoder) Sequencia binária 77 Código Gray (Binário Refletido) Codificador de posição (encoder) Sequencia binária 78 Código Gray (Binário Refletido) Codificador de posição (encoder) Sequencia binária 79 Código Gray (Binário Refletido) Codificador de posição (encoder) Sequencia binária 80 Código Gray (Binário Refletido) Codificador de posição (encoder) Sequencia com código Gray 81 Código Gray (Binário Refletido) Codificador de posição (encoder): 8 bits 82 Código Gray (Binário Refletido) Codificador de posição (encoder) 83 Relações entre as representações 84 Figura do livro: Sistemas Digitais Princípios e Aplicações (R. J. Tocci) Código ASCII Definição Códigos binários não representam somente números Podem representar estados, caracteres, texto, etc ASCII (American Standard Code for Information Interchange): é um código alfanumérico aceito universalmente e usado na maioria dos computadores e outros equipamentos eletrônicos Código de 7 bits: 128 caracteres e símbolos, contendo: Alfabeto (minúsculo, maiúsculo) Números Pontuação Caracteres de controle: os primeiros 32 códigos da tabela ASCII representam os caracteres de controle que são usados para permitir que dispositivos como um computador e uma impressora se comuniquem um com o outro quando passam informações e dados 85 Código ASCII 86 Código ASCII Exemplo Determinar o código binário ASCII que é inserido pelo teclado do computador quando a seguinte linha de comando em BASIC é digitada: 20 PRINTI “A=”;X; 87 Código ASCII 88 20 PRINTI “A=”;X; Código ASCII Aplicação Entradas do teclado em computadores; Código de caracteres em programação; 89 Bibliografia referência para esta aula Livro: Sistemas digitais: princípios e aplicações 11a ed. (Autor: TOCCI, R. J.) Capítulo(s) referência(s): 2 Detalhamento: página(s) -- 90
Compartilhar