Em um sistema de numeração de base b qualquer, um número positivo é representado pelo polinômio:

Documentos relacionados
Fabio Bento

Aula 04. Código BCD, Códigos Alfa-numéricos e Sistemas de Detecção de Erros

SISTEMAS DIGITAIS SISTEMAS DE NUMERAÇÃO E CÓDIGOS

Circuitos Digitais. Conteúdo. Sistema de Numeração e Códigos :: Conversões de Binário para Decimal SISTEMA DE NUMERAÇÃO E CÓDIGOS

CODIFICADORES / DECODIFICADORES

1. Sistemas de numeração

Prof. Luís Caldas Sistemas de Numeração e Transformação de Base NUMERAÇÃO, BASE NUMÉRICA E TRANSFORMAÇÃO DE UMA BASE

ARQUITETURA DE COMPUTADORES. Sistemas de Numeração. 1 Arquitetura de Computadores

Codificação 1. Introdução. C 2 R r {! + codificação

2. Sistemas de Numeração, Operações e Códigos. 2. Sistemas de Numeração, Operações e Códigos 1. Números Decimais. Objetivos.

Sistemas de Numeração. Engenharia da Computação 3 Período Alex Vidigal Bastos

Principais códigos utilizados. Codificação. Código binário puro. Codificação binária. Codificação Binária. Código Binário puro e suas variantes

Representação de Dados

Capítulo 2. Numéricos e Códigos Pearson Prentice Hall. Todos os direitos reservados.

SISTEMAS DIGITAIS Prof. Ricardo Rodrigues Barcelar

REPRESENTAÇÃO DE DADOS EM SISTEMAS DE COMPUTAÇÃO AULA 03 Arquitetura de Computadores Gil Eduardo de Andrade

Eletrônica Digital 1 Módulo1 Capítulo 1 Sistemas Numéricos. Prof. Nilton Costa Junior

Introdução à Informática

SISTEMAS DIGITAIS Prof. Ricardo Rodrigues Barcelar

Sistema de Numeração e Códigos. Sistemas de Informação CPCX UFMS Prof. Renato F. dos Santos

ORGANIZAÇÃO BÁSICA DE COMPUTADORES E LINGUAGEM DE MONTAGEM. Conceitos Básicos ORGANIZAÇÃO BÁSICA DE COMPUTADORES E LINGUAGEM DE MONTAGEM

Exemplo de Subtração Binária

Sistemas de Numeração

Organização de Computadores. Cálculos Binários e Conversão entre Bases Aritmética Binária

Genericamente qualquer sistema de numeração pode ser caracterizado por:

Representação de Dados e Sistemas de Numeração

SISTEMAS DE NUMERAÇÃO

Sistema de Numeração e Conversão entre Sistemas. Prof. Rômulo Calado Pantaleão Camara. Carga Horária: 60h

Curso: Técnico de Informática Disciplina: Redes de Computadores. 1- Apresentação Binária

Sistemas de Numeração

Notas de aula #1 SISTEMAS NUMÉRICOS

Álgebra de Boole. Sistema de Numeração e Códigos. Prof. Ubiratan Ramos

Introdução. A Informação e sua Representação (Parte III) Universidade Federal de Campina Grande Departamento de Sistemas e Computação

Sistemas Numéricos e a Representação Interna dos Dados no Computador

Representação de Dados

Circuitos Digitais 144L

3 Sistemas de Numeração:

CAPÍTULO 6 ARITMÉTICA DIGITAL

Sistemas de Numeração

Universidade do Minho Departamento de Electrónica Industrial. Sistemas Digitais. Exercícios de Apoio - I. Sistemas de Numeração

Pontifícia Universidade Católica do Rio Grande do Sul Faculdade de Engenharia Disciplina de Lógica Computacional Aplicada. Prof. Dr.

Sistema de Numeração e Conversão entre Sistemas. Prof. Rômulo Calado Pantaleão Camara. Carga Horária: 60h

Circuitos Combinacionais. Sistemas digitais

Deste modo, por razões tecnológicas e conceituais, os números binários e a álgebra boole-ana formam a base de operação dos computadores atuais.

Aritmética Binária e. Bernardo Nunes Gonçalves

Fundamentos em Informática (Sistemas de Numeração e Representação de Dados)

Sistemas de Numerações.

Sistemas de Numeração e Conversão de Base

VIII. VARIÁVEIS. Tabela I ARQUITETURA DA MEMÓRIA. 0x0000 0x34 0x0001 0xB0 0x0002 0x23. 0xFFFF 0x00

ORGANIZAÇÃO DE COMPUTADORES MÓDULO 13

Sistema de Numeração e Códigos. CPCX UFMS Prof. Renato F. dos Santos

Introdução à Engenharia de

Vamos exemplificar o conceito de sistema posicional. Seja o número 1303, representado na base 10, escrito da seguinte forma:

Organização e Arquitetura de Computadores I

Sistemas de Numeração. Introdução ao Computador 2010/1 Renan Manola

Lista de Exercícios Sistemas de Numeração

Trabalho compilado da Internet Prof. Claudio Passos. Sistemas Numéricos

Conversões em Sistemas de Numeração. José Gustavo de Souza Paiva

Capítulo UM Bases Numéricas

Circuitos Digitais Cap. 5

Hardware de Computadores

Cálculo Numérico Aula 1: Computação numérica. Tipos de Erros. Aritmética de ponto flutuante

Arquitetura de Rede de Computadores

Escola Secundária c/3º CEB José Macedo Fragateiro. Curso Profissional de Nível Secundário. Componente Técnica. Disciplina de

Sistemas de Numeração. Professor: Rogério R. de Vargas INFORMÁTICA 2014/2

Circuitos Digitais I. Notas de Aula. Sistemas de Representação. Bases e Códigos. Bases

Sistemas de Numeração

Unidade 3: Sistemas de Numeração Conversões Entre Quaisquer Bases e Aritmética em Bases Alternativas Prof. Daniel Caetano

Lógica Combinacional Aula 01 Sistema de Numeração. Felipe S. L. G. Duarte

CAPÍTULO I. UNIVERSIDADE FEDERAL DE UBERLÂNDIA FACULDADE DE ENGENHARIA ELÉTRICA Apostila de Eletrônica Digital. Sistemas de Numeração. 1.

Conversão de Bases e Aritmética Binária

Ano letivo: 2012/2013. Sistemas de numeração. Pág.: 1/11. Escola profissional de Fafe SDAC. Trabalho elaborado por: Ana Isabel, nº905 TURMA 7.

Aula de hoje. Códigos numéricos. Códigos binários. Armazenamento de dados. Armazenamento de dados. Armazenamento de dados

Unidade 5: Sistemas de Representação

Sistemas numéricos. Prof. Leandro Tonietto Introdução a computação e suas aplicações Curso de Segurança da Informação UNISINOS ago-09

Aula 3 - Sistemas de Numeração

ELETRÔNICA DIGITAL 1

Aula 6. Sistemas de Numeração. SEL Sistemas Digitais. Prof. Dr. Marcelo Andrade da Costa Vieira

2. Sistemas de numeração

Aula 5. Simplificação de funções lógicas (cont.) Sistemas de numeração

Atividade prática: Rodando o programa SOMA

CURSO: Engenharia Elétrica e Engenharia de Computação. DISCIPLINA: Circuitos Lógicos I Z520234

Aula 6 Aritmética Computacional

ELETRÔNICA. Changed with the DEMO VERSION of CAD-KAS PDF-Editor ( INTRODUÇÃO

Arquitetura de Computadores

Informática Aplicada à Química. Sistemas de Numeração Representação de Dados

Matemática Aplicada à Informática

Capítulo 9: Codificação. Prof.: Roberto Franciscatto

Conversão Entre Bases Numéricas.

Manual de Referência de Código de Barras

COMPUTAÇÕES NUMÉRICAS. 1.0 Representação

Matemática - UEL Compilada em 18 de Março de Prof. Ulysses Sodré Matemática Essencial:

Lição 1 Introdução à programação de computadores

centena dezena unidade

ARQUITETURA DE COMPUTADORES

Sistemas de numeração

Protocolo TCP/IP. Neste caso cada computador da rede precisa de, pelo menos, dois parâmetros configurados:

Jeandervall. Roteamento

Conversão de Bases Numéricas

Manual de Referência de Código de Barras

Transcrição:

ELETRÔNICA DIGITAl I 1 SISTEMAS DE NUMERAÇÃO INTRODUÇÃO A base dos sistemas digitais são os circuitos de chaveamento (switching) nos quais o componente principal é o transistor que, sob o ponto de vista da eletrônica digital funciona como uma chave, possuindo somente dois estados: aberta ou fechada. Toda a operação dos circuitos digitais está fundamentada nestes dois estados dos dispositivos, caracterizando desta maneira um sistema binário. Como consequência, para entender os princípios da eletrônica digital é necessário o conhecimento do sistema de numeração binário. REPRESENTAÇÃO DE UM NÚMERO Em um sistema de numeração de base b qualquer, um número positivo é representado pelo polinômio: N (b) = a q-1 b q-1 + a q-2 b q-2 +... + a 1 b 1 + a 0 b 0 + a -1 b -1 + a -2 b -2 +... + a -p b -p q 1 = a i= p i ib Onde: b = Base (ou raiz) do sistema de numeração (Inteiro >1) a = Inteiro no intervalo (0 a i b-1): são os dígitos do número p = Número de dígitos da parte fracionária do número q = Número de dígitos da parte inteira do número. A sequência de dígitos a q-1 a q-2...a 1 a 0, representa a parte inteira do número, enquanto a sequência de dígitos a -1 a -2...a -p, representa a parte fracionária do numero N. O dígito a -p é o dígito menos significativo e a q-1 é o dígito mais significativo do número N. Assim, um número decimal pode ser representado através de um polinômio de potências da base 10. Por exemplo, o número decimal 25983,476 pode ser representado pelo polinômio: 25983,476 = 2x10 4 + 5x10 3 + 9x10 2 + 8x10 1 + 3x10 0 + 4x10-1 + 7x10-2 + 6x10-3 Essa forma de representação de um número decimal, é conhecida como sistema de numeração decimal, onde o número 10 representa a base (ou raiz) do sistema.

ELETRÔNICA DIGITAl I 2 CONVERSÃO DE BASES Com frequência é necessário converter um número representado em um determinado sistema de numeração, para o seu equivalente em outro sistema de numeração. Esta operação é denominada conversão de bases. Para a conversão de um número de uma base b 1 para uma base b 2, existem duas técnicas que podem ser utilizadas: a) Método do polinômio Esse método consiste em representar o numero N como um polinômio de potências da base b 1 (base de origem) e utilizar a aritmética da base b 2 (base de destino) para calcular o valor deste polinômio. Por exemplo: Converter para base 10 os números 425,2 (8) e 1011,01 (2) respectivamente. Polinômios: 425,2 (8) = 4x8 2 + 2x8 1 + 5x8 0 + 2x8-1 = 277,25 (10) 1011,01 (2) = 1x2 3 + 0x2 2 + 1x2 1 + 1x2 0 + 0x2-1 + 1x2-2 = 11,25 (10) É importante observar que, em ambas as conversões, as operações aritméticas para o cálculo do valor do polinômio foram realizadas na base 10 que é a base de destino (b 2 ). Converter o número 237 (8) para a base 5: 237 (8) = 2x8 2 + 3x8 1 + 7x8 0 = 1003 + 44 + 12 = 1114 (5) Observe que nesse caso o método de conversão é o mesmo utilizado nas conversões anteriores porém, considerando que é necessário utilizar a aritmética da base 5 para efetuar as operações, o que para nós representa uma dificuldade, visto que não estamos habituados a trabalhar com uma base diferente da base 10. Portanto, podemos deduzir que esse método de conversão é adequado somente quando a base de destino for a base 10, pois nessa situação as operações aritméticas são efetuadas no sistema decimal. Exercícios: Efetuar a conversões dos números mostrados abaixo para o sistema decimal. a) 2041,24 (5) ; b) 582,76 (8) ; c) 1101011,1011 (2) ; d) 10210,201 (4) b) Método das divisões e multiplicações sucessivas

ELETRÔNICA DIGITAl I 3 Nesse método, é utilizada a aritmética da base b 1, que é base de origem. As conversões das partes inteira e fracionária do número, são efetuadas separadamente. Seja N (b1 ) polinômio: um número inteiro. Como já vimos, sua representação na base b 2 é dada pelo N (b1 ) = a q-1 b 2 q-1 + a q-2 b 2 q-2 +... + a 1 b 2 1 + a 0 b 2 0 Dividindo ambos os lados da igualdade por b 2 teremos: N (b1 )/b 2 = a q-1 b 2 q-2 + a q-2 b 2 q-3 +... + a 1 + a 0 /b 2 Fazendo: a q-1 b 2 q-2 + a q-2 b 2 q-3 +... + a 1 = Q 0 N (b1 )/b 2 = Q 0 + a 0 /b 2 Portanto: a 0 = N (b1 ) - b 2 Q 0 Assim, podemos observar que, o dígito menos significativo do número N (b2 ) isto é, o dígito a 0, representa o resto da primeira divisão. O próximo dígito significativo (a 1 ), é obtido dividindo-se o quociente obtido na divisão anterior (Q 0 ) novamente por b 2. Q 0 /b 2 = a q-1 b 2 q-3 + a q-2 b 2 q-4 +... + a 2 + a 1 /b 2 O resto desta segunda divisão, representa o segundo dígito menos significativo (a 1 ). A obtenção dos demais dígitos é feita através de divisões sucessivas dos quocientes obtidos, até que o quociente seja zero. O número N (b2 ) é composto pelos restos das divisões efetuadas, lembrando que o resto da primeira divisão é o dígito menos significativo. A parte fracionária do número, é representada por: N (b1 ) = a -1 b 2-1 + a -2 b 2-2 +... + a -p b 2 -p O dígito mais significativo (a -1 ) pode ser obtido multiplicando o polinômio por b 2 : b 2.N (b1 ) = a -1 + a -2 b 2-1 +... + a -p b 2 -p+1 Se o produto obtido nesta multiplicação for menos do que 1, então o dígito a -1 é igual a zero. Se o produto for maior do que 1, então o dígito a -1 é igual à parte inteira do produto. O próximo dígito é obtido multiplicando a parte fracionária do produto anterior novamente por b 2 e determinando a parte inteira deste novo produto, e assim sucessivamente.

ELETRÔNICA DIGITAl I 4 Este processo não necessariamente termina, visto que nem sempre é possível representar a fração na base b 2 com um número finito de dígitos. Exemplo: converter o número 358,78125 (10) para a base 4. a) Parte inteira (divisões sucessivas): 358 4_ 2 89 4_ 1 22 4_ 2 5 4_ 1 1 4_ 1 0 assim: 358 (10) = 11212 (4) b) Parte fracionária (multiplicações sucessivas): 0,78125 x 4 3,12500 3 é o primeiro dígito na base 4; 0,12500 x 4 0,50000 0 é o segundo dígito na base 4; 0,50000 x 4 2,00000 2 é o terceiro dígito na base 4; assim: 0,78125 (10) = 0,302 (4) Portanto: 358,78125 (10) = 11212,302 (4) Exercícios: Efetuar as conversões de base indicadas abaixo: 405,1875 (10) para base 8; 371,36 (10) para base 8; 157,0625 (10) para base 2; 103,85 (10) para base 2 c) Método da substituição direta O método de conversão de bases por substituição direta pode ser utilizado quando quando uma das bases for potência inteira da outra.

ELETRÔNICA DIGITAl I 5 Consideremos por exemplo, dois sistemas de numeração de bases b 1 = 3 e b 2 = 9. Representando os 9 dígitos do sistema base 9 e seus respectivos valores equivalentes no sistema base 3 temos a seguinte tabela de conversão: base 9 base 3 0 00 1 01 2 02 3 10 4 11 5 12 6 20 7 21 8 22 Como é possível observar na tabela, cada dígito do sistema base 9 corresponde à dois dígitos do sistema base 3. Desta forma, a conversão de um número de uma base para outra pode ser feita através da simples substituição de um dígito do sistema base 9 por dois dígitos do sistema base 3, e vice versa. Exemplo: Efetuar as conversões: a) 2705638 (9) base 3 2705638 (9) = 02 21 00 12 20 10 22 (3) b) 1021101211020 (3) base 9 01 02 11 01 21 10 20 (3) = 1241736 (9) Exercícios: Efetuar as conversões indicadas abaixo: a) 10100110,011011 (2) para base 4; b) 203102,1203 (4) para base 2; OPERAÇÕES ARITMÉTICAS EM UMA BASE QUALQUER Podemos efetuar operações aritméticas em um sistema de numeração de base qualquer, da mesma forma que efetuamos estas operações no sistema decimal, bastando tomar o cuidado de não esquecer da base com a qual estamos trabalhando. Vejamos alguns exemplos de soma e subtração em outros sistemas de numeração que não seja o decimal.

ELETRÔNICA DIGITAl I 6 Soma: 20412 (5) 27031,452 (8) 132011 (4) +34231 (5) +16247,574 (8) +201203 (4) --------- ------------ --------- Subtração: 520416 (7) 41023,524 (6) 201340 (8) -152143 (7) -13121,135 (6) -147356 (8) --------- ------------- --------- Exercício: Efetuar as operações indicadas abaixo: 600487 (9) 21043,324 (5) 200340 (7) 321002 (4) +158166 (9) +10421,132 (5) - 142356 (7) -103213 (4) --------- ------------ ---------- --------- SISTEMA DE NUMERAÇÃO BINÁRIO Os sistemas digitais são construídos a partir de dispositivos que possuem dois estados, tal como o transistor, que pode estar em corte ou conduzindo. Desta forma, o sistema de numeração binário se adapta perfeitamente às necessidades dos sistemas digitais. No sistema de numeração binário, a base é 2 e existem somente 2 algarismos(dígitos) para representar um número qualquer neste sistema: os dígitos utilizados são 0 e 1. Cada um dos dígitos do sistema binário (0 e 1) é chamado bit, que é uma contração das palavras binary digit. Conversões de base envolvendo o sistema binário a) Binário para decimal A conversão de um número do sistema binário para o sistema decimal é feita utilizando o método do polinômio, como já foi visto anteriormente. Exemplo: Converter o número 10110110,1011(2) para decimal.

ELETRÔNICA DIGITAl I 7 Representando o número na forma de polinômio temos: 1x2 7 + 0x2 6 +1x2 5 + 1x2 4 + 0x2 3 + 1x2 2 + 1x2 1 +1x2 0 + 1x2-1 + 0x2-2 + 1x2-3 +1x2-4 Calculando o valor do polinômio, temos: 128 + 0 + 32 + 16 + 0 + 4 + 2 + 0 + 0,5 + 0 + 0,125 + 0,0625 = 182,6875 Portanto: 10110110,1011 (2) = 182,6875 (10) b) Decimal para binário A conversão de um número do sistema decimal para o sistema binário é feita utilizando o método das divisões e multiplicações sucessivas. Exemplo: Converter o número 157,359375 (10) para binário. Como já foi visto anteriormente, a parte inteira do número é dividida sucessivamente por 2 até chegarmos a um quociente zero, e a parte fracionária do mesmo é multiplicada sucessivamente por 2. Temos então: 157 2 0,359375 1 78 2 x 2 0 39 2 0,718750 1 19 2 x 2 1 9 2 1,437500 1 4 2 x 2 0 2 2 0,875000 0 1 2 x 2 1 0 1,750000 x 2 1,500000 x 2 1,000000 Portanto: 157,359375 (10) = 10011101,010111 (2) Nem sempre a conversão do sistema decimal para o sistema binário pode ser feita de forma exata. Existem situações em que a parte fracionária do número tem que ser aproximada, como pode ser observado no exemplo abaixo:

ELETRÔNICA DIGITAl I 8 Converter o número 141,465 (10) para binário 141 2 0,465 1 70 2 x 2 0 35 2 0,930 1 17 2 x 2 1 8 2 1,860 0 4 2 x 2 0 2 2 1,720 0 1 2 x 2 1 0 1,440 x 2 0,880 x 2 1,760 É possível observar no exemplo acima, que nunca vamos chegar a um resultado zero na multiplicação. Assim: 141,465 (10) = 10001101,011101 (2) Nesta situação, o grau de aproximação vai depender do número de bits que estão disponíveis para representar o número binário. SISTEMA DE NUMERAÇÃO HEXADECIMAL O sistema de numeração hexadecimal é utilizado para simplificar a representação de números binários. Através do sistema hexadecimal, podemos compactar um conjunto extenso de bits, que representa o número no sistema binário, em um conjunto menor de dígitos do sistema hexadecimal. Características do sistema de numeração hexadecimal: Base = 16 16 dígitos para representar um número dígitos 0 a 9, para representar os valores de 0 a 9 dígitos A a F, para representar os valores de 10 a 15. Se tomarmos um grupo de 4 bits (denominado nibble), podemos formar 16 combinações diferentes, sendo que, cada uma destas combinações corresponde à um dígito do sistema hexadecimal. Portanto, a conversão de um número do sistema binário para o sistema hexadecimal não envolve nenhuma operação aritmética. Para esta conversão utilizamos o método da substituição direta, onde cada grupo de 4 bits corresponde a um dígito hexadecimal.

ELETRÔNICA DIGITAl I 9 A tabela baixo mostra a conversão do sistema binário para o sistema hexadecimal: Decimal Binário Hexadecimal 0 0000 0 1 0001 1 2 0010 2 3 0011 3 4 0100 4 5 0101 5 6 0110 6 7 0111 7 8 1000 8 9 1001 9 10 1010 A 11 1011 B 12 1100 C 13 1101 D 14 1110 E 15 1111 F a) Conversão binário hexadecimal Para converter um número do sistema binário para o hexadecimal, basta formar grupos de 4 bits(niblles) da direita para a esquerda, completando com zeros o último grupo à esquerda, se for necessário. Cada um dos grupos de bits formados, corresponde à um dígito do sistema hexadecimal. Exemplos: a) Converter para hexadecimal o número binário 10011100101100000111101 Separando em grupos: 0100 1110 0101 1000 0011 1101 4 E 5 8 3 D Portanto, 10011100101100000111101 (2) = 4E583D (16) b) Converter para hexadecimal o número binário 011000000011111110 Separando em grupos: 0001 1000 0000 1111 1110 1 8 0 F E Portanto, 011000000011111110 (2) = 180FE (16)

ELETRÔNICA DIGITAl I 10 b) Conversão hexadecimal binário Para converter um número do sistema de numeração hexadecimal para o sistema binário, simplesmente tomamos cada dígito hexadecimal e representamos através de um grupo de 4 bits. Exemplos: a) Converter para binário o número hexadecimal 7A0D Temos então: 0111 1010 0000 1101 7 A 0 D b) Converter para binário o número hexadecimal 5F0C7E O número binário equivalente é: 0101 1111 0000 1100 0111 1110 5 F 0 C 7 E SISTEMA DE NUMERAÇÃO OCTAL Características do sistema de numeração octal: Base = 8 8 dígitos para representar um número dígitos: 0 a 7 O sistema de numeração octal tem a mesma finalidade do sistema hexadecimal, ou seja, simplificar a representação de números binários. A diferença é que, ao invés de grupos de 4 bits como no sistema hexadecimal, temos grupos de 3 bits. Se tomarmos um grupo de 3 bits, podemos formar 8 combinações diferentes, sendo que, cada uma destas combinações corresponde à um dígito do sistema octal. Portanto, da mesma forma que no sistema hexadecimal, a conversão de um número do sistema binário para o sistema octal não envolve nenhuma operação aritmética. Existe simplesmente uma correspondência entre cada grupo de 3 bits e um digito octal. a) Conversão binário octal Para converter um número do sistema binário para o sistema octal, basta formar grupos de 3 bits da direita para a esquerda, completando com zeros o último grupo à esquerda se for necessário. À cada um dos grupos formados, temos um dígito do sistema octal. Exemplos: a) Converter para octal o número binário 1101111000001110

ELETRÔNICA DIGITAl I 11 Separando em grupos: 001 101 111 000 001 110 1 5 7 0 1 6 Portanto, 1101111000001110 (2) = 157016 (8) b) Converter para hexadecimal o número binário 100111001110101 Separando em grupos: 100 111 001 110 101 4 7 1 6 5 Assim, 100111001110101 (2) = 47165 (8) b) Conversão octal binário Para converter um número do sistema de numeração octal para o sistema binário, simplesmente tomamos cada dígito octal e representamos através de um grupo de 3 bits. Exemplos: a) Converter para binário o número octal 37054 Representando cada dígito pelos 3 bits, temos: 3 7 0 5 4 011 111 000 101 100 Portanto, 37054 (8) = 011111000101100 (2) b) Converter para binário o número octal 1730562 Convertendo cada dígito, temos: 1 7 3 0 5 6 2 001 111 011 000 101 110 010 Assim, 1730562 (8) = 001111011000101110010 (2) Exercícios: Efetuar as conversões indicada abaixo: a) 101111000100001111001 (2) para hexadecimal b) 7A0CF5 (16) para binário c) 100010000111001110101 (2) para octal d) 3705631 (8) para binário e) 506214 (8) para hexadecimal f) 3F0CA5 (16) para octal

ELETRÔNICA DIGITAl I 12 ARITMÉTICA BINÁRIA As operações aritméticas no sistema binário são feitas exatamente da mesma forma que nos outros sistemas de numeração, com a diferença que, no sistema binário temos somente os dois dígitos 0 e 1. Soma Como temos somente os dígitos 0 e 1, numa soma de dois números binários existem somente quatro situações possíveis, que são: Exemplos de soma: 0 + 0 = 0 0 + 1 = 1 1 + 0 = 1 1 + 1 = 0 vai um para a casa seguinte 01001101 10010110 10010111 +10011010 +01011011 +01110010 Subtração Da mesma forma que na soma, na subtração de dois números binários temos somente 4 possíveis situações: Exemplos de subtração: 0-0 = 0 1-0 = 1 1-1 = 0 0 + 1 = 1 empresta um da casa anterior 11101011 10100101 10100110-10010101 -10011010-11000101 Multiplicação Para entender o processo de multiplicação de dois números binários, vamos inicialmente analisar a multiplicação de dois números no sistema decimal, uma vez que o procedimento é idêntico para os dois sistemas. Tomemos como exemplo a multiplicação:

ELETRÔNICA DIGITAl I 13 4528 Multiplicando x 2735 Multiplicado 22640 13584 31696 9056 12384080 Como pode-se observar na multiplicação acima, efetuamos a multiplicação de cada dígito do multiplicador pelo multiplicando, formando produtos parciais. Observe que cada um dos produtos parciais sofre um deslocamento para a esquerda. O resultado da multiplicação é a soma de todos os produtos parciais obtidos. Na multiplicação de dois números binários, como temos somente os dígitos 0 e 1, os produtos parciais podem ser zero no caso do dígito do multiplicador ser 0, ou o próprio multiplicando no caso do dígito ser 1. Exemplo de multiplicação de dois números binários: 101101 Multiplicando x 1011 Multiplicado 101101 101101 000000 101101 111101111 Divisão Do mesmo modo que a multiplicação, a divisão binária é mais simples que a divisão decimal. Tomemos como exemplo, a divisão abaixo: 110101101 101 101 1010101 00110 101 00111 101 01001 101 100 Como o divisor possui três dígitos (101), perguntamos se o mesmo cabe nos três primeiros dígitos do dividendo (110). Como isto ocorre, o dígito correspondente do quociente é 1, e o divisor é subtraído dos três primeiros dígitos do dividendo. O restante da divisão segue o mesmo procedimento da divisão decimal.

ELETRÔNICA DIGITAl I 14 No exemplo acima, a divisão 110101101 101 tem como resultado um quociente 1010101 e um resto 100. Representação de números negativos através do complemento de 2 O complemento de 2 de um número binário é definido como: [N] 2 = 2 n (N) 2 Onde: (N) 2 n [N] 2 : número binário : número de bits que formam o número : complemento de 2 do número Seja por exemplo, o número N = 00101101 (2) (representado com 8 bits). O complemento de dois deste número é: 2 8 = 100000000-00101101 11010011 Uma maneira simples de obter o complemento de dois de um número binário é inverter (ou negar ou complementar) todos os bits do número e depois somar 1. Assim, considerando o número visto anteriormente temos: 00101101 invertendo 11010010 somando 1 + 1 11010011 Uma das formas utilizadas para representar números negativos no sistema binário é através do complemento de 2. Esta forma de representação é muito utilizada em sistemas digitais para o tratamento de operações aritméticas envolvendo números com sinal. Na representaçãode números negativos através de complemento de 2, os números positivos são representados na sua forma natural, como já foi visto anteriormente. Os números negativos são representados como complemento de 2 do correspondente número positivo. Tomemos como exemplo, o número binário 01011010 (2) = 90 (10). O complemento de 2 deste número é: 100000000 (2 8 8 dígitos) - 01011010 10100110

ELETRÔNICA DIGITAl I 15 Portanto, na forma de representação de números negativos através de complemento de 2, o número 10100110 representa o valor -90. Operação de soma utilizando complemento de 2 Analisaremos a seguir a vantagem de se utilizar o complemento de dois, para a realização de operações aritméticas. Consideremos uma operação de subtração de dois números binários: a - b Esta operação pode ser escrita como: a - b = a + (-b) Ou seja, a operação de subtração pode ser substituída por uma operação de soma, onde utilizamos valor negativo do subtraendo. Portanto, uma operação de subtração de dois números binários e feita somando o minuendo com o complemento de 2 do subtraendo. Neste tipo de operação, é importante que seja definido a priori, o número de dígitos que será utilizado para representar todos os números binários, tendo em vista que na operação de soma o último dígito normalmente deve ser ignorado. Como exemplo, vamos efetuar a subtração 106 (10) 39 (10) no sistema binário. Para isto, vamos estabelecer que os números binários serão representados com 8 bits. 106 (10) = 01101010 (2) 39 (10) = 00100111 (2) O complemento de 2 de 39 é: 11011001 (que representa o número -39) A operação a ser realizada é 106 39 = 106 + (-39) Temos então: 01101010 +11011001 101000011 Como foi definido no início que seriam utilizados 8 bits para representar os números binários, o bit adicional que apareceu no resultado deve ser desprezado. O resultado da operação é portanto 0100011, equivalente ao valor 67 decimal, que é o resultado esperado para a operação. Exemplo: Efetuar a operação 115 (10) 77 (10) no sistema binário: A operação fica portanto: 01110011 +10110011 100100110 115 = 01110011 77 = 01001101-77 = 10110011

ELETRÔNICA DIGITAl I 16 O resultado é 00100110 = 38 (10) conforme era esperado. Vejamos agora, a operação 43 (10) 109 (10). 43 (10) = 00101011 (2) 109 (10) = 01101101 (2) O complemento de 2 de 01101101, que representa o valor -109 é: 10010011 Temos então a operação: 00101011 +10010011 10111110 Convertendo o resultado da operação (10111110) para decimal, temos o valor 190 (10), que não é o resultado esperado da operação, cujo valor correto deveria ser -66. No entanto, se tomarmos o complemento de 2 do resultado da operação, temos o valor 01000010, que corresponde ao valor decimal 66. Observe que, como o resultado da operação é negativo, o mesmo apareceu na forma de complemento de 2. Desta forma, temos a regra para a representação de números positivos e negativos no sistema binário. a) O primeiro bit(mais significativo) indica o sinal: 0: o número é positivo 1: o número é negativo b) Se o número for positivo, está representado na sua forma real. Se for negativo, está representado na forma de complemento de 2. Com esta forma de representação, a operação de soma é realizada normalmente, sendo que o resultado, positivo ou negativo, aparecerá naturalmente. Vejamos alguns exemplos: a) 95 + ( 44) 01011111 +11010100 Eliminando o dígito adicional temos: 00110011 = 51 b) 27 + ( 79) 00011011 +10110001 c) 23 + 85

ELETRÔNICA DIGITAl I 17 00010111 +01010101 d) (-47) + ( 72) 11010001 +10111000 e) 71 + 89 01000111 +01011001 Como podemos observar na última operação (e), o resultado foi -96, quando o valor correto é +160. Neste caso, ocorreu uma condição de overflow, ou seja, o resultado da operação não cabe nos 8 bits previamente definidos para isto. Fica claro portanto, que existem limites para os valores que podem ser representados, limites estes que dependem do número de bits que estamos utilizando para representar o números. Para o caso de representação de números binários com 8 bits, estes limites são: Como regra geral, temos os seguintes limites: 01111111 = +127 10000000 = -128 -(2 n-1 ) N 2 n-1-1 onde: n é o número de bits utilizados para representar o número. CÓDIGOS BINÁRIOS A representação de valores numéricos através do sistema de numeração binário, é denominado código binário puro. Em outras situações é necessário, ou desejável, a representação de strings de caracteres alfanuméricos ou numéricos. Diversos tipos de códigos foram desenvolvidos com esta finalidade, podendo se enquadrados em duas principais categorias: Códigos numéricos: utilizados para representar valores numéricos; Códigos não numéricos: utilizados para representar caracteres alfanuméricos

ELETRÔNICA DIGITAl I 18 Código numéricos Código BCD O código BCD-Binary Coded Decimal (Decimal Codificado em Binário) é um código numérico, utilizado para representar os 10 dígitos decimais, sendo muito utilizado na interface entre dispositivos digitais. O código BCD nada mais é o do que o próprio código binário, com os valores limitados ao intervalo de 0 a 9, utilizando portanto 4 bits. O código BCD é também denominado BCD-8421, pelo fato dos 4 bits que formam o código terem pesos de 8, 4, 2 e 1 respectivamente. Na tabela abaixo temos a correspondência entre cada dígito decimal e sua representação no código BCD. Decimal BCD 0 0000 1 0001 2 0010 3 0011 4 0100 5 0101 6 0110 7 0111 8 1000 9 1001 Para representar um número decimal no código BCD, representamos cada um dos dígitos através de um conjunto de 4 bits. Exemplo: representar o número 590274 no código BCD. Substituindo cada dígito decimal por um grupo de 4 bits, temos: 0101 1001 0000 0010 0111 0100 5 9 0 2 7 4 Código 3-em-excesso O código 3-em-excesso é formado adicionando-se 3 ao código BCD(ou binário). Trata-se de um código não ponderado, visto que não temos como estabelecer um peso para cada um dos 4 bits que forma o código. Uma característica do código 3-em-excesso é que, o complemento de 1 de um valor qualquer neste código, corresponde ao complemento de 9 do dígito decimal correspondente. Por esta razão, dizemos que o código 3-em-excesso possui a propriedade de auto-complementação. Na tabela abaixo, temos a correspondência entre os códigos decimal, BCD e 3-em-excesso:

ELETRÔNICA DIGITAl I 19 Decimal BCD 3-em-excesso 0 0000 0011 1 0001 0100 2 0010 0101 3 0011 0110 4 0100 0111 5 0101 1000 6 0110 1001 7 0111 1010 8 1000 1011 9 1001 1100 Código GRAY O código Gray é um código cíclico, cuja característica é a mudança de somente um bit entre dois valores consecutivos. Devido a esta característica, o código Gray é muito utilizado em codificadores(encoders) pois, o fato de existir somente um bit diferente entre valores consecutivos diminui a probabilidade da ocorrência de erros. A tabela abaixo mostra a correspondência entre os códigos decimal, binário e Gray de 4 bits: Decimal Binário Gray 0 0000 0000 1 0001 0001 2 0010 0011 3 0011 0010 4 0100 0110 5 0101 0111 6 0110 0101 7 0111 0100 8 1000 1100 9 1001 1101 10 1010 1111 11 1011 1110 12 1100 1010 13 1101 1011 14 1110 1001 15 1111 1000 Código Johnson O código Johnson é um código numérico, gerado a partir do contador Johnson. O número de valores possível depende da quantidade de bits utilizados para representar estes valores. Para representar os 10 dígitos decimais, são necessários 5 bits no código Johnson. Na tabela abaixo, está representado o código Johnson de 5 bits: Decimal Johnson

ELETRÔNICA DIGITAl I 20 0 00000 1 10000 2 11000 3 11100 4 11110 5 11111 6 01111 7 00111 8 00011 9 00001 Detecção e correção de erros Um erro em um dado binário qualquer, significa um valor incorreto em um ou mais bits que formam este dado. Temos um erro simples quando existe somente um bit incorreto e um erro múltiplo quando mais de um bit está incorreto. Erros podem ser causados por falhas de hardware, interferência externa ou outro evento indesejado. Os códigos vistos até agora, são compostos de 4 bits, que é o número mínimo necessário para representar os 10 dígitos decimais. Estes códigos, embora adequados para a representação dos dígitos decimais, são sensíveis a erros de qualquer natureza. Na prática, existe sempre a probabilidade da ocorrência de um erro simples. A probabilidade da ocorrência de um erro múltiplo é mais baixa. Abordaremos a seguir, a detecção de erros simples. Códigos de detecção de erros Em um código de 4 bits, a ocorrência de um erro em um dos bits de um dado pode resultar em outro dado válido, porém incorreto. Consideremos como exemplo, os dois dispositivos A e B mostrados na figura abaixo, conectados através de uma interface, através da qual trafegam dados no formato BCD. Supondo que, em determinado instante, o dispositivo A enviou através da interface, a seqüência de bits 0101, que corresponde ao dígito decimal 5 no código BCD. A 0101 0111 B Supondo ainda que, devido à uma interferência externa qualquer, o segundo bit (da direita para a esquerda) da sequência enviada, foi alterado de 0 para 1.

ELETRÔNICA DIGITAl I 21 Desta forma, o dispositivo B recebe o dado 0111, que corresponde à um valor BCD válido (digito 7), porém diferente daquele que foi enviado por A. Assim, A enviou o dígito 5 e B recebeu o dígito 7, e vai tratar este valor como sendo correto, pois não possui nenhum mecanismo para detectar que ocorreu o erro, pois o código BCD não tem capacidade para detectar o erro. É possível tornar o código BCD capaz de detectar um erro simples, adicionando ao mesmo um bit de paridade, que pode ser par ou ímpar. Paridade par : o número de bits 1, incluindo o bit de paridade, deve ser par. Paridade ímpar : o número de bits 1, incluindo o bit de paridade, deve ser ímpar. Na tabela abaixo está mostrado o código BCD, acrescido de um bit de paridade: ---------------- BCD ------------------- Paridade par Paridade ímpar Decimal 8421 P 8421 P 0 0000 0 0000 1 1 0001 1 0001 0 2 0010 1 0010 0 3 0011 0 0011 1 4 0100 1 0100 0 5 0101 0 0101 1 6 0110 0 0110 1 7 0111 1 0111 0 8 1000 1 1000 0 9 1001 0 1001 1 O propósito do bit de paridade é adicionar um bit extra ao código, de modo a fazer com que o número total de bits 1 seja par ou ímpar, conforme o tipo de paridade paridade desejada. Com isto, é possível detectar um erro do tipo visto no caso acima. Considerando o exemplo visto anteriormente e supondo uma paridade par, o dispositivo A envia o dígito 5que corresponde a 01010, sendo que o dispositivo B por sua vez, recebe o dado 01110. A 01010 01110 B Ao verificar a paridade, o dispositivo B, percebe a existência de 3 bits 1, o que considerando a paridade par está incorreto. Código 2-entre-5

ELETRÔNICA DIGITAl I 22 Outro código numérico utilizado para representar os dígitos decimais e que possui a capacidade de detectar a ocorrência de um erro simples é o código 2-entre-5, que é um código de 5 bits. O código 2-entre-5 é formado pelas 10 possíveis combinações de 5 bits sendo que, 2 dos 5 bits são iguais a 1 e 3 são iguais a 0. A detecção de um erro é feita contando-se o número de bits iguais a 1 existentes na seqüência de bits em questão. Sempre que este número for diferente de 2, existe um erro. A tabela abaixo mostra a configuração do código 2-entre-5: Decimal 2-entre-5 0 00011 1 00101 2 00110 3 01001 4 01010 5 01100 6 10001 7 10010 8 10100 9 11000 Distância de um código binário A distância entre duas palavras(valores) quaisquer, em um código binário, representa o número de bits que precisam ser alterados para tornar um valor válido em outro valor válido. Por exemplo, a distância entre as palavras 1010 e 0100 é três, visto que os dois valores possuem 3 bits diferentes. A distância mínima de um código binário, representa o menor número de bits diferentes entre dois valores quaisquer. Assim, nos códigos BCD e 3-em-excesso, a distância mínima é um, enquanto que no código 2-entre-5 a distância mínima é dois. Para que um código possua a capacidade de detectar um erro simples, é necessário que a distância mínima seja maior ou igual a dois.

ELETRÔNICA DIGITAl I 23 Códigos não numéricos Os código não numéricos são utilizados para representar valores que não são numéricos. Por exemplo, um computador tem a capacidade de armazenar e trabalhar tanto com dados numéricos como com dados alfanuméricos. Para que isto seja possível, é necessária a utilização de um código capaz de representar os dados alfanuméricos. Código ASCII O código ASCII (American Standard Code for Information Interchange) é um código não numérico, amplamente utilizado na indústria de computadores. É um código utilizado para representar um conjunto de caracteres alfanuméricos, através de combinações de bits pré definida. TABELA ASCII (7 bits) ASCII American Standard Code for Information Interchange Dec Hex Caracter Dec Hex Caracter Dec Hex Caracter Dec Hex Caracter 0 00 NUL 32 20 SP 64 40 @ 96 60 ` 1 01 SOH 33 21! 65 41 A 97 61 a 2 02 STX 34 22 66 42 B 98 62 b 3 03 ETX 35 23 # 67 43 C 99 63 c 4 04 EOT 36 24 $ 68 44 D 100 64 d 5 05 ENQ 37 25 % 69 45 E 101 65 e 6 06 ACK 38 26 & 70 46 F 102 66 f 7 07 BEL 39 27 ' 71 47 G 103 67 g 8 08 BS 40 28 ( 72 48 H 104 68 h 9 09 HT 41 29 ) 73 49 I 105 69 i 10 0A LF 42 2A * 74 4A J 106 6A j 11 0B VT 43 2B + 75 4B K 107 6B k 12 0C FF 44 2C, 76 4C L 108 6C l 13 0D CR 45 2D - 77 4D M 109 6D m 14 0E SO 46 2E. 78 4E N 110 6E n 15 0F LF 47 2F / 79 4F O 111 6F o 16 10 DLE 48 30 0 80 50 P 112 70 p 17 11 DC1 49 31 1 81 51 Q 113 71 q 18 12 DC2 50 32 2 82 52 R 114 72 r 19 13 DC3 51 33 3 83 53 S 115 73 s 20 14 DC4 52 34 4 84 54 T 116 74 t 21 15 NAK 53 35 5 85 55 U 117 75 u 22 16 SYN 54 36 6 86 56 V 118 76 v 23 17 ETB 55 37 7 87 57 W 119 77 w 24 18 CAN 56 38 8 88 58 X 120 78 x 25 19 EM 57 39 9 89 59 Y 121 79 y 26 1A SUB 58 3A : 90 5A Z 122 7A z 27 1B ESC 59 3B ; 91 5B [ 123 7B { 28 1C FS 60 3C < 92 5C \ 124 7C 29 1D GS 61 3D = 93 5D ] 125 7D } 30 1E RS 62 3E > 94 5E ^ 126 7E ~ 31 1F US 63 3F? 95 5F _ 127 7F DEL

ELETRÔNICA DIGITAl I 24 TABELA ASCII EXTENDIDA Código EBCDIC O código EBCDIC Extended Binary Coded Decimal Interchange Code, foi desenvolvido pela IBM no início da década de 60 sendo utilizado em computadores de grande porte(mainframes). É um código de 8 bits, onde cada caracter é representado através uma combinação específica destes 8 bits. Na tabela abaixo, temos a representação do código EBCDIC.

ELETRÔNICA DIGITAl I 25 Código EBCDIC