Capítulo 2 Sistemas Numéricos e Códigos slide 1 © 2011 Pearson Prentice Hall. Todos os direitos reservados. Os temas apresentados nesse capítulo são: – Conversão entre sistemas numéricos. Decimal, binário, hexadecimal. Contagem hexadecimal. – Representação de números decimais com o código BCD. Prós e contras do uso do BCD. Diferenciação entre o BCD e o binário puro. – Finalidade dos códigos alfanuméricos (por exemplo, o código ASCII). – Método da paridade para detecção de erro. Determinação do bit de paridade a ser anexado em uma cadeia de caracteres de dados digitais. slide 2 © 2011 Pearson Prentice Hall. Todos os direitos reservados. 2.1 Conversão Binária para Decimal Converter binário em decimal através da soma das posições que contêm um 1: slide 3 Exemplo com um maior número de bits: © 2011 Pearson Prentice Hall. Todos os direitos reservados. 2.1 Conversão Binária para Decimal Com o método double-dabble evita-se a adição de números grandes e o acompanhamento dos pesos das colunas, através do seguinte procedimento: – Anote o 1 da extrema esquerda no número binário. – Dobre-o e acrescente o bit seguinte da direita. – Anote o resultado sob o próximo bit. – Continue com as etapas 2 e 3 até terminar o número binário. slide 4 © 2011 Pearson Prentice Hall. Todos os direitos reservados. 2.1 Conversão Binária para Decimal Os números binários verificam o método double-dabble. slide 5 © 2011 Pearson Prentice Hall. Todos os direitos reservados. 2.2 Conversão Decimal para Binária Trata-se de um processo inverso ao descrito em 2-1. Todas as posições devem ser contabilizadas. slide 6 Outros exemplos: © 2011 Pearson Prentice Hall. Todos os direitos reservados. 2.2 Conversão Decimal para Binária Divisão repetida Divida o número decimal por 2. Escreva o restante após cada divisão até obter o quociente 0. O primeiro restante é o LSB. O último é o MSB. slide 7 © 2011 Pearson Prentice Hall. Todos os direitos reservados. slide 8 © 2011 Pearson Prentice Hall. Todos os direitos reservados. 2.2 Conversão Decimal para Binária Divisão repetida Esse fluxograma descreve o processo e pode ser usado para converter o sistema decimal em qualquer outro sistema numérico. slide 9 © 2011 Pearson Prentice Hall. Todos os direitos reservados. 2.3 Sistema Numérico Hexadecimal g1 Converta 3710 em binário: slide 10 © 2011 Pearson Prentice Hall. Todos os direitos reservados. Slide 10 g1 No livro, este exemplo é referente à conversão decimal em binário e não à numeração hexadecimal. Sugiro a utilização de outro exemplo. geje; 18/07/2011 2.3 Sistema Numérico Hexadecimal O hexadecimal permite a manipulação de longas cadeias binárias, utilizando grupos de 4 bits - base 16. Possui dezesseis símbolos possíveis: 0-9 e F-A. slide 11 © 2011 Pearson Prentice Hall. Todos os direitos reservados. 2.3 Sistema Numérico Hexadecimal Relações entre os números hexadecimais, decimais e binários. slide 12 © 2011 Pearson Prentice Hall. Todos os direitos reservados. 2.3 Sistema Numérico Hexadecimal – Hexa para Decimal A conversão do hexadecimal para o decimal é feita através da multiplicação de cada dígito hexadecimal por seu peso posicional. Em um segundo exemplo, o valor 10 é substituído por A e o 15 é substituído por F. Na prática, 1BC216 é igual a 710610. slide 13 © 2011 Pearson Prentice Hall. Todos os direitos reservados. 2.3 Sistema Numérico Hexadecimal – Hexa para Decimal A conversão de decimal para hexadecimal, utilizando-se o método de divisão repetida (idem 2.2), ocorre através da divisão do número decimal por 16. O primeiro restante é o LSB. O último é o MSB. slide 14 © 2011 Pearson Prentice Hall. Todos os direitos reservados. 2.3 Sistema Numérico Hexadecimal – Hexa para Decimal Convertag242310 para hexadecimal: slide 15 © 2011 Pearson Prentice Hall. Todos os direitos reservados. Slide 15 g2 Trata-se de conversão de decimal para hexa ou de hexa para decimal? geje; 18/07/2011 2.3 Sistema Numérico Hexadecimal – Hexa para Decimal g3 Converta 2140 para hexadecimal: slide 16 © 2011 Pearson Prentice Hall. Todos os direitos reservados. Slide 16 g3 Idem comentário do slide 14. geje; 18/07/2011 2.3 Sistema Numérico Hexadecimal – Hexa para Decimal Os zeros à esquerda podem ser adicionados à esquerda do MSB para preencher o último grupo. Na prática, verifique se BA616 = 1011101001102. slide 17 © 2011 Pearson Prentice Hall. Todos os direitos reservados. 2.3 Sistema Numérico Hexadecimal – Hexa para Binário Para converter binário para hexadecimal, deve-se agrupar os bits em quatro, começando-se com o LSB. Cada grupo é, então, convertido no hexadecimal equivalente. O número binário é agrupado em grupos de quatro bits e cada um é convertido em seu dígito hexadecimal equivalente. Na prática, verifique se 101011111 2 = 15F16. slide 18 © 2011 Pearson Prentice Hall. Todos os direitos reservados. 2.3 Sistema Numérico Hexadecimal – Decimal para Hexa e Binário Converta o decimal 378 em um número binário de 16 bits, mudando primeiro para hexadecimal. slide 19 © 2011 Pearson Prentice Hall. Todos os direitos reservados. 2.3 Sistema Numérico Hexadecimal Para realizar conversões entre hexadecimal e binário, é necessário saber os números binários de quatro bits (0000 1111) e seus equivalentes dígitos hexadecimais, seguindo a tabela abaixo, já exibida anteriormente. slide 20 © 2011 Pearson Prentice Hall. Todos os direitos reservados. 2.3 Sistema Numérico Hexadecimal – Contando em Hexa Ao contar em hexadecimal, cada posição de dígito pode ser incrementada (aumentada em 1) de 0 a f. Ao chegar ao valor F, ele deve ser redefinido como 0 e a próxima posição de dígito é incrementada. Exemplo: 38,39,3A,3B,3C,3D,3E,3F,40,41,42 Um 9 em uma posição de dígito, ao ser incrementado, torna-se um A. Com três dígitos hexadecimais, podemos contar de 00016 até FFF16 que é 010 até 409510 — um total de 4096 = 163 valores. slide 21 © 2011 Pearson Prentice Hall. Todos os direitos reservados. 2.4 Código BCD BCD (binary-coded-decimal) é uma maneira muito utilizada de apresentar números decimais em formato binário. Combina características dos sistemas decimal e binário. Cada dígito é convertido em um binário equivalente. BCD não é um sistema numérico. É um número decimal com cada dígito codificado para seu equivalente binário. Um número BCD não é o mesmo que um número binário direto. A principal vantagem do BCD é a relativa facilidade de conversão para e a partir do decimal. slide 22 © 2011 Pearson Prentice Hall. Todos os direitos reservados. 2.4 Código BCD Converta o número 87410 para BCD. Cada dígito decimal é representado por 4 bits. Cada grupo de 4 bits não pode ser superior a 9. Inverta o processo para converter o BCD para decimal. slide 23 © 2011 Pearson Prentice Hall. Todos os direitos reservados. 2.4 Código BCD Converta 0110100000111001 (BCD) em seu equivalente decimal. Divida o número BCD em grupos de 4 bits e converta cada um para decimal. slide 24 © 2011 Pearson Prentice Hall. Todos os direitos reservados. 2.4 Código BCD Converta 0110100000111001 (BCD) em seu equivalente decimal. Divida o número BCD em grupos de 4 bits e converta cada um para decimal. slide 25 © 2011 Pearson Prentice Hall. Todos os direitos reservados. 2.4 Código BCD Converta o BCD 011111000001 em seu equivalente decimal. O grupo proibido representa um erro no número BCD. slide 26 © 2011 Pearson Prentice Hall. Todos os direitos reservados. 2.7 Bytes, Nibbles e Palavras A maioria dos microcomputadores manipulam e armazenam informações e dados binários em grupos de 8 bits. Oito bits equivale a 1 byte. Um byte pode representar vários tipos de dados/ informações. Números binários frequentemente são divididos em grupos de 4 bits. Como um grupo de 4 bits é a metade de um byte, ele foi nomeado nibble. slide 27 © 2011 Pearson Prentice Hall. Todos os direitos reservados. 2.7 Bytes, Nibbles e Palavras Uma palavra é um grupo de bits que representa uma determinada unidade de informação. O tamanho da palavra pode ser definido como o número de bits na palavra binária em que um sistema digital opera. O tamanho da palavra de um PC é de 8 bytes (64 bits). slide 28 © 2011 Pearson Prentice Hall. Todos os direitos reservados. 2.8 Códigos Alfanuméricos O código alfanumérico representa todos os caracteres e as funções encontrados em um teclado de computador: 26 letras minúsculas e 26 maiúsculas, 10 dígitos, 7 sinais de pontuação, de 20 a 40 outros caracteres. O código alfanumérico mais utilizado é o ASCII - American Standard Code for Information Interchange (Código Padrão Americano para Intercâmbio de Informações). Trata-se de um código de 7 bits: 27 = 128 possíveis grupos de código. Pode ser utilizado para transferir informações entre computadores, entre computadores e impressoras e para armazenamento interno. slide 29 © 2011 Pearson Prentice Hall. Todos os direitos reservados. 2.8 Códigos Alfanuméricos ASCII - American Standard Code for Information Interchange (Código Padrão Americano para Intercâmbio de Informações) slide 30 © 2011 Pearson Prentice Hall. Todos os direitos reservados. 2.9 Método de Paridade para Detecção de Erros A movimentação de dados e códigos binários de um local para outro é a operação mais frequentemente realizada em sistemas digitais. Eis alguns exemplos: Voz digitalizada sobre um link de micro-ondas. Armazenamento/ recuperação de dados de discos magnéticos e ópticos. Comunicação entre sistemas de computador através de linhas telefônicas (modem). slide 31 © 2011 Pearson Prentice Hall. Todos os direitos reservados. 2.9 Método de Paridade para Detecção de Erros O ruído elétrico pode causar erros durante a transmissão. Flutuações espúrias na tensão ou circulação aparecem em todos os sistemas eletrônicos. Muitos sistemas digitais empregam métodos para detecção de erros e, por vezes, para a correção. Um dos sistemas mais simples e mais utilizados para detecção de erros é o Método de Paridade. slide 32 © 2011 Pearson Prentice Hall. Todos os direitos reservados. 2.9 Método de Paridade para Detecção de Erros O método de paridade de detecção de erros requer a adição de um bit extra para um grupo de códigos. Chamado bit de paridade, ele pode ser um 0 ou 1, dependendo do número de 1s no grupo de código. Existem dois métodos de paridade: pares e ímpares. O transmissor e o receptor devem "concordar" sobre o tipo de verificação de paridade utilizado. O método de paridade PAR parece ser o mais utilizado. slide 33 © 2011 Pearson Prentice Hall. Todos os direitos reservados. 2.9 Método de Paridade para Detecção de Erros Método de paridade PAR — o número total de bits em um grupo, incluindo o bit de paridade, deve ser um número par. O grupo binário 1 0 1 1 exigiria a adição de um bit de paridade 1, tornando o grupo 1 1 0 1 1. slide 34 © 2011 Pearson Prentice Hall. Todos os direitos reservados. 2.9 Método de Paridade para Detecção de Erros Método de paridade ímpar — o número total de bits em um grupo, incluindo o bit de paridade, deve ser um número ímpar . O grupo binário 1 1 1 1 exigiria a adição de um bit de paridade 1, tornando o grupo 1 1 1 1 1. O bit de paridade torna-se uma parte da palavra código. Adicionar um bit de paridade ao código ASCII de 7 bits produz um código de 8 bits. slide 35 © 2011 Pearson Prentice Hall. Todos os direitos reservados. 2.10 Aplicações Ao transmitir-se caracteres ASCII, deve-se contar ao receptor que um novo personagem está chegando. Muitas vezes, também é necessário detectar erros na transmissão. O método de transferência é chamado de comunicação de dados assíncronos. slide 36 © 2011 Pearson Prentice Hall. Todos os direitos reservados. 2.10 Aplicações Uma tabela de caracteres ASCII deve ser "emoldurada" para que o receptor saiba onde os dados começam e onde terminam. O primeiro bit deve sempre ser um bit de início (lógica 0). Código ASCII é enviado primeiro por LSB e MSB por último. Após o MSB, um bit de paridade é acrescentado para verificar erros de transmissão. A transmissão termina ao enviar um bit de parada (lógica 1). slide 37 © 2011 Pearson Prentice Hall. Todos os direitos reservados. slide 38 © 2011 Pearson Prentice Hall. Todos os direitos reservados.