Вы находитесь на странице: 1из 41

ELECTRNICA DIGITAL

SISTEMAS DE NUMERAO ARITEMTICA BINRIA

ELECTRNICA DIGITAL Sistemas de Numerao e Aritmtica Binria

Ficha Tcnica
Ttulo: Electrnica Digital - Sistemas de Numerao e Aritmtica Binria Autor: Carlos Sousa Coordenador de Edio: Lus Bomfim Barreiros Editor: Edies Gustave Eiffel Capa, Composio Grfica e Acabamentos: Lus Bomfim Barreiros

Setembro de 2003 - 1 Edio. II

ELECTRNICA DIGITAL Sistemas de Numerao e Aritmtica Binria

NDICE
1. - INTRODUO.................................................................................................................................V 2. - SISTEMAS DE NUMERAO.........................................................................................................VI 2.1 - Tabela dos primeiros 16 nmeros representados nas Bases 2, 8, 16 e 10...............................VII 3. - BASE 2 OU BINRIA.....................................................................................................................VIII 3.1 - Converso Binrio - Decimal...................................................................................................VIII 3.2 - Converso Decimal - Binrio...................................................................................................VIII 4. - BASE 8 OU OCTAL.........................................................................................................................IX 4.1 - Converso Octal - Decimal.......................................................................................................IX 4.1 - Converso Decimal - Octal.......................................................................................................IX 4.2 - Converso Octal - Binrio..........................................................................................................X 4.3 - Converso Binrio - Octal..........................................................................................................X 5. - BASE 16 OU HEXADECIMAL.........................................................................................................XI 5.1 - Converso Hexadecimal - Decimal...........................................................................................XI 5.2. - Converso Decimal - Hexadecimal.........................................................................................XII 5.3 - Converso Hexadecimal - Binrio............................................................................................XII 5.4 - Converso binrio - hexadecimal............................................................................................XIII 4.5 - Converso Octal - Hexadecimal e Hexadecimal - Octal..........................................................XIII 6. - CDIGO BCD...............................................................................................................................XIV 6.1 - Converso Decimal BCD.....................................................................................................XIV 6.2 - Converso BCD - Decimal......................................................................................................XIV 6.3 - Converso Binrio - BCD........................................................................................................XIV 6.4 - Converso BCD - Binrio........................................................................................................XIV 7. - EXERCCIOS RESOLVIDOS.........................................................................................................XV 8. - EXERCCIOS PROPOSTOS.........................................................................................................XXI 9. - ADIO DE NMEROS BINRIOS.............................................................................................XXII 10. - SUBTRACO DE NMEROS BINRIOS...............................................................................XXIII 11. - ADIO DE NMEROS EM HEXADECIMAL...........................................................................XXIV 12. - SUBTRACO DE NMEROS HEXADECIMAIS.....................................................................XXIV 13. - EXERCCIOS RESOLVIDOS.....................................................................................................XXV 14. - EXERCCIOS PROPOSTOS.....................................................................................................XXVI 15. - DAS PORTAS LGICAS AT AO SOMADOR DIGITAL..........................................................XXVII 16. - CDIGO DE COMPLEMENTOS................................................................................................XXX 17. - CDIGO DE GRAY.................................................................................................................XXXII 18. - DETECTORES DE ERROS SIMPLES....................................................................................XXXIV 19. - EXERCCIOS RESOLVIDOS...................................................................................................XXXV III

ELECTRNICA DIGITAL Sistemas de Numerao e Aritmtica Binria 20. - EXERCCIOS PROPOSTOS..................................................................................................XXXIX

IV

ELECTRNICA DIGITAL Sistemas de Numerao e Aritmtica Binria

1. - INTRODUO
Este captulo pretende dotar o leitor com conhecimentos sobre os sistemas de numerao mais usados nas abordagens aos sistemas digitais. D-se tambm aqui importncia aritmtica binria e chega-se, com ela, compreenso de circuitos TTL que efectuam adies e subtraces entre valores binrios. So tambm alvo neste captulo, cdigos binrios e circuitos bsicos que permitem detectar erros na comunicao entre sistemas. Por ltimo apresenta-se uma seco com exerccios resolvidos e outra com exerccios propostos, para que o leitor possa treinar e por prova os conhecimentos adquiridos.

ELECTRNICA DIGITAL Sistemas de Numerao e Aritmtica Binria

2. - SISTEMAS DE NUMERAO
Definido um conjunto de smbolos ou algarismos, qualquer quantidade pode ser quantificada e representada por uma sequncia desses algarismos. Posto isto, podem definir-se quantos sistemas de numerao (ou bases ponderadas) quisermos, mas no mbito dos sistemas digitais ser bom sabermos trabalhar com as bases 2 ou binria, 8 ou octal e 16 ou hexadecimal. Para se entrar no estudo destas bases bom relembrar alguns conceitos respeitantes base mais conhecida, a decimal ou 10. Ento vejamos: A base decimal ou 10, tem 10 algarismos 0, 1, 2, 3 .... 9 (por isso se chama decimal), podendo com esses algarismos representar qualquer quantidade. Se escrevermos o nmero 1996 na base decimal, como saber ou como calcular a quantidade por ele representada? fcil... vejamos: N = A0 * B0 + A1 * B1 + A2 * B2 + A3 * B3 + ..... ser a quantidade em decimal, A0, A1, A2, A3 sero os algarismos de pesos 100, 101, 102, 103 (porque estamos na base 10) comeando da direita para a esquerda, e B ser a base onde estamos a trabalhar, ou seja neste caso, a base decimal. Logo, temos que: N = A0 * B0 + A1 * B1 + A2 * N = N = N = 6 6 * 100 + * 6 1 + + 9 9 * 101 + * 10 + 90 + 9 9 B2 + A4 * 1 1 * B3 103

* 102 + * 100 + 900 +

* 1000 1000

N = 1996 tal como seria de esperar. Todos estes clculos e teorias so vlidos para as outras bases, diferindo apenas a quantidade de algarismos de cada uma.

VI

ELECTRNICA DIGITAL Sistemas de Numerao e Aritmtica Binria

2.1 - Tabela dos primeiros 16 nmeros representados nas Bases 2, 8, 16 e 10

Decimal (10) 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15

Binria (2) 0000 0001 0010 0011 0100 0101 0110 0111 1001 1001 1010 1011 1100 1101 1110 1111

Octal (8) 0 1 2 3 4 5 6 7 10 11 12 13 14 15 16 17

Hexadecimal (16) 0 1 2 3 4 5 6 7 8 9 A B C D E F

VII

ELECTRNICA DIGITAL Sistemas de Numerao e Aritmtica Binria

3. - BASE 2 OU BINRIA
A base 2 ou binria uma base que possui os algarismos 0 e 1 como seria de esperar. Os algarismos da base dois tambm se designam por bits. Apesar do nmero reduzido de algarismos qualquer quantidade pode aqui nesta base ser representada. muito fcil converter para o seu respectivo decimal um nmero representado na base 2 e vice-versa.

3.1 - Converso Binrio - Decimal


A converso binrio - decimal feita usando a frmula atrs referida aplicada base 2: N = A0 * B0 + A1 * B1 + ... + An * Bn Onde B sempre 2 e A0 o bit mais direita do nmero. Como exemplo, converter o nmero (1100) na base 2 para a base 10. N = 0 * 20 + 0 * 21 + 1 * 22 + 1 * 23 N = 0 * 1 + 0 * 2 + 1 * 4 + 1 * 8 N = N = 12 Logo (1100)2 igual a (12)10. 0 + 0 + 4 + 8

3.2 - Converso Decimal - Binrio


A converso decimal - binrio feita fazendo divises sucessivas por 2 do nmero a converter at que o quociente seja 0, aproveitando os restos dessas divises como se mostra no seguinte exemplo: Converter para binrio o valor 40 em decimal: (40)10 = (?)2 40 2 0 20 2 0 10 2 0 5 2 1 2 2 0 1 2 1 0 VIII Note-se que quando o quociente da penltima diviso d 1 continuamos a dividir mesmo sabendo que o quociente agora de 1 a dividir por 2 0. para ficarmos com o ltimo resto que 1. Deve fazer-se sempre assim. Escrevendo agora os restos de baixo para cirna, temos (101000)2 como o nmero (40)10 representado na base 2. Logo (40)10 = (101000)2.

ELECTRNICA DIGITAL Sistemas de Numerao e Aritmtica Binria

4. - BASE 8 OU OCTAL
A base 8 ou octal uma base semelhante s outras, mas agora existem 8 algarismos para representar as quantidades: 0, 1, 2, 3, 4. 5, 6, 7. muito fcil converter para o seu respectivo decimal um nmero representado na base 8 e vice-versa.

4.1 - Converso Octal - Decimal


A converso octal - decimal feita usando a frmula atrs referida aplicada base 8: N = A0 * B0 + A1 * B1 + ... + An * Bn Onde B sempre 8 e A0 o algarismo mais direita do nmero. Como exemplo, converter o nmero (131) na base 8 para a base 10: N = 1 * 80 + 3 * 81 + 1 * 82 N = 1 * 1 + 3 * 8 + 1 * 64 N = N = 89 Logo (131)8 = (89)10. 1 + 24 + 64

4.1 - Converso Decimal - Octal


A converso decimal - octal feita fazendo divises sucessivas por 8 do nmero a converter, at que o quociente seja 0, aproveitando os restos dessas divises como se mostra no seguinte exemplo onde se converte o valor 40 decimal para a base octal: 40 8 0 5 8 5 0 Note-se que o quociente da primeira diviso 5 e continuamos a dividir, mesmo sabendo que o quociente agora de 5 a dividir por 8 0, para ficarmos com o ltimo resto que 5. Deve fazer-se sempre assim. Escrevendo agora os restos de baixo para cima. temos 50 que o nmero (40)10 representado na base 8.

Logo (40)10 igual a (50)8

IX

ELECTRNICA DIGITAL Sistemas de Numerao e Aritmtica Binria

4.2 - Converso Octal - Binrio


Existem duas formas de fazer esta converso: A primeira consiste em converter o nmero em base octal para a base decimal e depois converter o resultado em base decimal para base binria. Chama-se a este processo o mtodo das bases intermdias. Neste caso, converter da base octal para decimal j foi visto e da base decimal para a base binria tambm, pelo que no me vou referir a esses assuntos outra vez. O outro processo mais fcil, mas exige um total conhecimento da tabela dos primeiros 16 nmeros nas bases 10, 2, 8, 16, mostrada anteriormente. Sendo assim se quisermos escrever o nmero (50)8 na base binria, temos que escrever os seus algarismos um a um em binrio a trs bits. Assim temos 5 na base binria 101 e 0 na base binria 000, e portanto o nmero (50)8 (101000)2 onde os primeiros 3 bits representam o 5 e os ltimos trs bits representam o 0 do nmero (50)8.

4.3 - Converso Binrio - Octal


Aqui tambm existem duas formas de fazer esta converso: Uma visa o uso de bases intermdias, ou seja, converter o nmero em base binria para base decimal e depois converter esse resultado de base decimal para base octal, estando estas converses analisadas anteriormente, pelo que, no me vou referir a elas. O outro processo ser eficaz se conhecer a tabela dos 16 primeiros nmeros apresentada anteriormente. Como tal, basta partir o nmero binrio em partes de trs bits da direita para a esquerda e ver quanto vale cada parte em octal. Por exemplo, o nmero (1000)2 partido em partes de trs bits da direita para a esquerda fica 1|000 ficando em octal o nmero (10)8, pois (000)2 = (0)8 e (1) 2 = (1)8. No se assuste de ficar com uma parte s com um bit, pois ela facilmente se transforma em trs bits (001) acrescentando zeros esquerda.

ELECTRNICA DIGITAL Sistemas de Numerao e Aritmtica Binria

5. - BASE 16 OU HEXADECIMAL
A base hexadecimal uma base semelhante s outras, mas agora existem 16 algarismos para representar quantidades: 0, l, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F. Aqui, talvez fique assustado, mas no existe fantasma nenhum. Como na base hexadecimal (16), h necessidade de s com um algarismo representar 16 quantidades diferentes incluindo a quantidade 0, temos de arranjar mais algarismos. Assim, as quantidades de 0 at 9 representam-se com os algarismos habituais e as quantidades de 10 at 15 com as letras de A at F. Por isto se chamam a nmeros escritos nesta base cdigos alfanumricos. muito fcil converter para o seu respectivo decimal um nmero representado na base hexadecimal e vice-versa.

5.1 - Converso Hexadecimal - Decimal


A converso hexadecimal - decimal feita usando a frmula atrs referida aplicada base 16: N = A0 * B0 + A1 * B1 + ... + An * Bn Onde B sempre 16 e A0 o algarismo mais direita do nmero. Como exemplo, converter o nmero (BA)16 na base hexadecimal para a base decimal. N = A * 160 + B * 161 N = 10 * N = N = 186 Logo (BA)16 = (186)10 (nunca se esquea que A representa a quantidade 10 em decimal e B a quantidade 11). 10 1 + 11 * 16 + 176

XI

ELECTRNICA DIGITAL Sistemas de Numerao e Aritmtica Binria

5.2. - Converso Decimal - Hexadecimal


A converso decimal - hexadecimal feita fazendo divises sucessivas por 16 do nmero a converter at que o quociente seja 0, aproveitando os restos dessas divises como se mostra no seguinte exemplo: (255)10 =(?)16

255 16 095 15 16 15 15 0

Escrevendo agora os restos de baixo para cima, temos 15 e 15, no entanto temos que os substituir pelos algarismos correspondentes que so F e F formando o nmero (FF)16 que a representao de (255) na base decimal. preciso notar que apesar dos restos serem 15 e 15 devem escrever-se na forma hexadecimal F e F. e pensar que eles deram 15 nas contas porque estas so efectuadas na base 10.

5.3 - Converso Hexadecimal - Binrio


Existem duas formas de fazer esta converso: a primeira consiste em converter o nmero em base hexadecimal para base decimal e depois converter o resultado em base decimal para base binria. Chama-se a este processo o mtodo das bases intermdias. Neste caso, converter da base hexadecimal para decimal j foi visto e da base decimal para a base binria tambm, pelo que no me vou referir a esses assuntos outra vez. O outro processo mais fcil, mas exige um total conhecimento da tabela dos primeiros 16 nmeros nas bases 2, 8, 16, mostrada no incio deste mdulo. Sendo assim se quisermos escrever o nmero (50)16 na base decimal, temos que escrever os seus algarismos um a um em binrio a quatro bits. Assim temos 5 na base binria 0101 e 0 na base binria 0000, e portanto o nmero (50)8 (01010000)2 onde os primeiros 4 bits representam o 5 e os ltimos 4 bits representam o 0 do nmero (50)16.

XII

ELECTRNICA DIGITAL Sistemas de Numerao e Aritmtica Binria

5.4 - Converso binrio - hexadecimal


Nesta situao, tambm existem duas formas de fazer esta converso: uma visa o uso de bases intermdias, ou seja, converter o nmero em base binria para base decimal e depois converter esse resultado da base decimal para base hexadecimal, estando estas converses analisadas anteriormente pelo que, no me vou referir a elas. O outro processo ser eficaz se conhecer a tabela dos 16 primeiros nmeros apresentada no incio deste mdulo. Como tal, basta partir o nmero binrio em partes de quatro bits da direita para a esquerda e ver quanto vale cada parte em hexadecimal. Por exemplo, o nmero (11111)2 partido em partes de 4 bits da direita para a esquerda fica 1|1111. ficando em hexadecimal o nmero (1F)16, pois (1111)2 = (F)16 e (1)2 = (1)16. No se assuste com. o facto de ficar com uma parte s com um bit, pois ela facilmente se transforma em 4 bits (0001).

4.5 - Converso Octal - Hexadecimal e Hexadecimal - Octal


Estes tipos de converses fazem-se normalmente usando o mtodo das bases intermdias. No caso da converso octal - hexadecimal converte-se da base octal para a base binria e depois converte-se da base binria para a base hexadecimal. No caso da converso hexadecimal - octal, converte-se da base hexadecimal para a base binria e depois converte-se da base binria para a base octal. Note que a base intermdia neste caso ser a base binria, mas pode-se usar como base intermdia a base decimal, no entanto, a base decimal como intermdia envolve a realizao de clculos auxiliares, pelo que, a base binria como intermdia a opo mais fcil e menos morosa.

XIII

ELECTRNICA DIGITAL Sistemas de Numerao e Aritmtica Binria

6. - CDIGO BCD
Este cdigo, como ver mais frente, um cdigo que corresponde representao em binrio a 4 bits de cada algarismo que compem um nmero em decimal. Como exemplo, o nmero (1996)10 tem como correspondente BCD o cdigo: (0001 1001 1001 0110)BCD. Este cdigo tem aplicaes na rea da electrnica digital em representao de quantidades em displays de segmentos ou em qualquer terminal de sada de informao.

6.1 - Converso Decimal BCD


Esta converso feita escrevendo cada algarismo decimal de um nmero no seu equivalente binrio a quatro bits. Por exemplo o nmero 2001 em decimal tem o seu equivalente BCD 0010 0000 0000 0001.

6.2 - Converso BCD - Decimal


Esta converso feita de forma inversa anterior. Dividimos o nmero em BCD em partes de quatro bits da direita para a esquerda e escrevemos em decimal o algarismo correspondente a cada parte de quatro bits. Se uma das partes de quatro bits for maior que 9 em decimal, o nmero est mal representado em BCD.

6.3 - Converso Binrio - BCD


Esta converso usa como base intermdia a base decimal. Converto o valor de binrio para decimal e depois converto o valor de decimal para binrio.

6.4 - Converso BCD - Binrio


Esta converso usa tambm a base decimal como intermdia. Converto para decimal o nmero em BCD e depois converto de decimal para binrio o valor em causa.

XIV

ELECTRNICA DIGITAL Sistemas de Numerao e Aritmtica Binria

7. - EXERCCIOS RESOLVIDOS
1. Efectue as seguintes converses entre bases numricas: a) (2048)10 (?????)2 Como se pode verificar trata-se de uma converso da base decimal para a base binria. Vamos ento fazer como regra, divises sucessivas do valor por dois para acharmos os bits do nmero em base binria.

2048 2 00 1024 2 04 02 512 2 08 04 11 256 2 0 0 12 05 128 2 0 16 08 64 2 0 0 04 32 2 0 12 16 2 0 0 8 2 0 4 2 0 2 2 0 1 2 1 0 Aproveitando os restos da direita para a esquerda, temos que 2048 na base decimal equivale (100000000000) na base binria.

b)

(512)10 (?)16 Ora, temos aqui uma converso da base decimal para a base hexadecimal. Temos de dividir o valor sucessivamente por 16 para achar os algarismos hexadecimais do nmero.

512 16 032 32 16 0 0 2 16 2 0 Aproveitando os restos da direita para a esquerda, temos que (512)10 igual a (200)16.

XV

ELECTRNICA DIGITAL Sistemas de Numerao e Aritmtica Binria

c) (250)10 =(????)16 Trata-se de uma converso de base decimal para base hexadecimal. Vamos dividir sucessivamente por 16.

250 16 090 15 16 10 15 0 Vamos ento escrever os restos da direita para a esquerda e ficamos com 15 10. Temos claro que usar os caracteres hexadecimais correspondentes a estes restos. Ficamos com FA, ou seja 250 na base decimal equivale o nmero FA em hexadecimal.

d) (492)10 (?)8 Bem, temos uma converso da base decimal para a base octal. Vamos dividir sucessivamente por 8 para obtermos o nmero em octal.

492 8 12 61 8 4 5 7 8 7 0 Aproveitando agora os restos da direita para a esquerda, temos que a 492 na base decimal equivale 754 na base octal.

e) (111011)2 (?)10 Temos de efectuar a frmula: N = A0 * B0 + A1 * B1 + ... + An * Bn

N = 1 * 20 + 1 * 21 + 0 * 22 + 1 * 23 + 1 * 24 + 1 * 25 N = 1 * 1 + 1 * 2 + 1 * 4 + 1 * 8 + 1 * 16 + 1 * 32 N = N = 59 Portanto, (111011)2 igual a 59 em decimal XVI 1 + 2 + 0 + 8 + 16 + 32

ELECTRNICA DIGITAL Sistemas de Numerao e Aritmtica Binria

f)

(1110011101)2 (????)8 Trata-se de uma converso entre base binria para a base octal. Podemos utilizar a base decimal como intermdia, mas no necessrio. Vamos dividir da direita para a esquerda o nmero em binrio em partes de trs bits cada. Vamos agora escrever o correspondente em octal de cada parte.

101 5

011 3

110 6

1 1

O nmero binrio 1110011101 igual a 1635 em octal.

g)

(111001111110101)2 (?)16 Temos aqui uma converso da base binria para a base hexadecimal. O melhor mtodo a utilizar o de dividirmos o nmero em binrio em partes de quatro bits da direita para a esquerda. Escrevemos agora em hexadecimal o correspondente a cada parte.

0101 5

1111 F

0011 3

111 7

O nmero convertido para hexadecimal 73F5

h)

(7344) 8 (?)10 Neste caso temos de aplicar a frmula: N = A0 * B0 + A1 * B1 + ... + An * Bn para calcular o equivalente decimal do nmero em questo. N = 4 * 80 + 4 * 81 + 3 * 82 + 7 * 83

N = 4 * 1 + 4 * 8 + 3 * 64 + 7 * 512 N = 1 + 32 + 192 + 3584

N = 3812 O equivalente decimal de (7344)8 (3812)10.

XVII

ELECTRNICA DIGITAL Sistemas de Numerao e Aritmtica Binria

i) (3765)8 (?)2 Nesta situao usamos o mtodo de escrever cada dgito do nmero em octal a trs bits em binrio. Usamos este mtodo porque se trata de uma converso de octal para binrio. Escrevemos agora os grupos de trs bits e ficamos com o nmero 11111110101 em binrio.

j) 275)8 (?)16 Nesta situao usamos a base binria como intermdia. Convertendo (275)8 em binrio ficamos com 010111101. Agora pegamos no nmero em binrio, dividimos em grupos de quatro bits da direita para a esquerda e ficamos com 0|1011|1101. Escrevendo agora em hexadecimal cada parte de quatro bits temos (BD)16.

k) (10110011)BCD (?)10 Vamos dividir o nmero em partes de quatro bits da direita para a esquerda. Temos 1001 | 0011. Escrevendo em decimal o equivalente de cada parte, temos (93)10.

l) (345)10 (?)BCD Vamos escrever cada dgito decimal no seu equivalente binrio a quatro bits: 3 0011 4 0100 5 0101

Ento (345)10 equivalente a (001101000101)BCD

XVIII

ELECTRNICA DIGITAL Sistemas de Numerao e Aritmtica Binria

m)

(111010)2 (?)BCD Pois , vamos usar a base decimal como intermdia. Vamos primeiramente converter (111010)2 para decimal. Usando a frmula: N = A0 * B0 + A1 * B1 + ... + An * Bn Calculemos o valor em decimal. N = 0 * 20 + 1 * 21 + 0 * 22 + 1 * 23 + 1 * 24 + 1 * 25 N = 0 * 1 + 1 * 2 + 0 * 4 + 1 * 8 + 1 * 16 + 1 * 32 N = N = 58 Vamos agora escrever (58) 10 em BCD. 5 0101 8 1000 0 + 2 + 0 + 8 + 16 + 32

Logo (111010)2 igual a (01011000)BCD

n)

(00110111)BCD (?)2 Vamos usar a base decimal como intermdia. Primeiro convertemos de BCD para decimal dividindo o nmero em panes de quatro bits e escrevendo o contedo de cada parte em decimal. O nmero em decimal 37. Vamos agora converter 37 decimal em binrio usando para isso o mtodo das divises sucessivas.

37 2 17 18 2 1 0 9 2 1 4 2 0 2 2 0 1 2 1 0 Aproveitando os restos da direita para a esquerda ficamos com 100101 em binrio.

XIX

ELECTRNICA DIGITAL Sistemas de Numerao e Aritmtica Binria

o) (FE32)16 (????)8 Neste caso vamos usar a base binria como intermdia. Convertemos o nmero de hexadecimal para binrio escrevendo a quatro bits cada dgito hexadecimal do nmero. Logo FE32 em hexadecimal 1111 1110 0011 0010 em binrio. Agora pegamos no nmero em binrio e partimos em grupos de trs bits da direita para a esquerda. Ficamos com 1 111 111 000 110 010. Escrevemos agora cada grupo de trs bits em octal. Ficamos finalmente com (177062)8.

p) (DBA2)16 (????)10 Nesta situao temos de aplicar a clebre frmula: N = A0 * B0 + A1 * B1 + ... + An * Bn

N = 2 * 160 + A * 161 + B * 162 + D * N = 2 * N = 2 1

163

No se esquea de trocar os dgitos hexadecimais pelos seus equivalentes decimais

+ 10 * 16 + 11 * 256 + 13 * 4096 + 160 + 2816 + 53248

N = 56226

q) (DE6) 16 (?)2 Vamos usar o mtodo de escrever cada dgito hexadecimal em binrio a quatro bits. D 1101 E 1110 6 0110

Logo o nmero em binrio (110111100110)2

XX

ELECTRNICA DIGITAL Sistemas de Numerao e Aritmtica Binria

8. - EXERCCIOS PROPOSTOS

1.

O nmero 1999 est escrito em hexadecimal. Reescreva-o: a) b) c) d) na base decimal. na base binria. na base octal. em cdigo BCD.

2.

O nmero 3276 est escrito em octal. Reescreva-o: a) b) c) d) em hexadecimal. em binrio. em BCD. em decimal.

3.

O nmero F4E2 est escrito em hexadecimal. Reescreva-o: a) b) c) d) em binrio. em decimal. em octal. em BCD.

4.

O nmero 111011101 est escrito em binrio. Reescreva-o: a) b) c) d) em decimal. em octal. em hexadecimal. em BCD.

5.

O nmero 0011000100001000 est escrito em BCD. Reescreva-o: a) b) c) d) em decimal. em binrio. em octal. em hexadecimal.

XXI

ELECTRNICA DIGITAL Sistemas de Numerao e Aritmtica Binria

9. - ADIO DE NMEROS BINRIOS


Quando andmos na escola primria ensinaram-nos a somar e a subtrair, mas com o passar do tempo apenas ficmos com a tcnica mecanizada e deixmos de ligar ao "porqu da coisa". Assim para podermos somar e subtrair nmeros binrios, temos que relembrar o "porqu da coisa". Quando fazemos a conta 69 + 72 = 141 como procedemos? Fazemos:

69 72 141

Em pensamento dizemos: 9 + 2 = 11, colocamos por baixo um 1 e dizemos "e vai um", que somamos na parte de peso imediatamente a seguir com o 6 e o 7 j l existentes. Seguidamente fazemos 1 + 6 + 7 = 14, colocamos l um 4 e dizemos "e vai um" que somamos no peso imediatamente a seguir, 1 + 0 + 0 que fica s 1. Temos finalmente o resultado total que 141. Em binrio ou em qualquer base passa-se o mesmo, sempre que no possvel representar o resultado com a mesma quantidade de algarismos que as parcelas tm, temos de dizer "e vai um" e somar esse 1 no prximo peso. Tomemos como exemplo a seguinte conta em binrio:

0111 0111 1110

Comeando naturalmente pela direita temos: 1 + 1 = 10 e porque no podemos representar 2 em binrio s com um bit. colocamos l 0 e vai um para o peso seguinte. No peso seguinte temos 1 (de trs) + 1 + 1 = 11 (3)10, ou seja 1 e vai l para o peso seguinte, pois 3 em binrio 11. No peso seguinte temos 1 (de trs) 1 + 1 + 1 = 11 (3)10, ou seja l e vai l para o peso seguinte. No ltimo peso temos 1 (de trs) 1 + 0 + 0 = 1 e no vai nada. assim que se processa para todas as bases.

XXII

ELECTRNICA DIGITAL Sistemas de Numerao e Aritmtica Binria

10. - SUBTRACO DE NMEROS BINRIOS


A subtraco de nmeros binrios faz-se da mesma forma que a subtraco de nmeros na base decimal. Tomemos como exemplo a seguinte conta:

1 0 9 0 1

Normalmente fazemos 9 para 10 um e vai um. pois estamos a fazer a diferena para um peso superior. Esse um que vai somado ao prximo peso e ficamos com 0 + 1 = 1 para l nada. assim que se faz tambm em binrio, por exemplo:

1110 0111 0111

Comecemos naturalmente pela direita: 1 para 0 1 e vai 1. pois fizemos a diferena para um peso superior. Somamos o l que vai ao 1 que est a seguir em baixo e ficamos com 1 + 1 = 0 para 1 e vai 1. Esse 1 soma-se ao prximo peso em baixo e temos 1 + 1 = 0 para 1, 1 e vai um. Este ltimo 1 soma-se ao prximo 0 ficando com 0 + 1 = 1 para 1 nada, acabando assim a subtraco. Coma a ajuda dos exerccios resolvidos voc ir aprender bem estas tcnicas.

XXIII

ELECTRNICA DIGITAL Sistemas de Numerao e Aritmtica Binria

11. - ADIO DE NMEROS EM HEXADECIMAL


Nesta base. passa-se a mesma coisa que em binrio. Temos de somar peso a peso e verificar se o valor resultante da soma de cada peso ultrapassa esse peso. O nmero de vezes que se ultrapassa o peso tem de ser somado ao peso seguinte. Esta operao faz-se para todos os pesos para obter o resultado final. Como exemplo, vamos efectuar a soma:

54FE 4567 9A65

Comeamos por fazer E+7 = 15, ou seja 5 e vai um. Depois sommos l (de trs) mais F mais 6, o que resulta em 6 e vai um. Depois sommos l (de trs) com 4 e com 5 e resultou A. Por ltimo sommos 5 com 4 e deu 9. Sempre que passamos de F para 0. acrescenta-se um o peso seguinte.

12. - SUBTRACO DE NMEROS HEXADECIMAIS


Nesta base. subtramos como se subtrai em qualquer outra base. Vamos subtraindo peso a peso, e se passarmos de 0 para F acrescentamos um ao peso seguinte. Vejamos um exemplo:

55F8 3409 21EF

Comeando pela direita naturalmente: 9 para 8 F. Como passmos pelo 0. acrescentamos 1 ao peso seguinte. 0 + 1 para F d 1 para F que E. Como no passmos pelo 0, no vai nada. Depois 4 para 5 um. Como voltmos a no passar pelo 0 no vai nada. Por ltimo 3 para 5 d 2.

XXIV

ELECTRNICA DIGITAL Sistemas de Numerao e Aritmtica Binria

13. - EXERCCIOS RESOLVIDOS


1. a) 1 1 1 101 1 1 1 0 0 1 0 1 1 1 1 1 1 1 1 0 1 0 0 0 1 0 1 0 Resolva as seguintes contas na base binria:

Comeando naturalmente pela direita: 1 + 0 = 1, 1 + 1 = 0 e vai 1. Depois temos de somar 1 + 1 + 0 + 0 e o resultado 0 e vai l porque mais uma vez passamos pelo 0. Depois temos de somar 1 + 1 + 1 + 1 o que d zero e vo dois uns porque passmos duas vezes pelo 0. Depois temos de somar 1 + 1 + 1 + 1 + 1, o que d 1 e vo dois uns porque passmos novamente duas vezes pelo zero. Somamos agora 1 + 1 + 0 + 1 + 0, o que d 1 e vai 1. Somamos em seguida 1 + 1 + 1 + 1. o que d 0 e vo dois uns. Depois somamos 1 + 1 + 1 + 1 + 1, o que d l e vo dois uns porque passamos duas vezes pelo zero. Somamos seguidamente 1 + 1 o que d 0 e vai 1. Este ltimo 1 somado com nada o que d 1 e no vai nada.

b) 11110101 01111111 01110110

Comeamos pela direita novamente, 1 para 1 d zero. 1 para 0 d 1 e vai 1. Somando o 1 que vai ao prximo peso temos 1 + 1 = 0, 0 para 1 d 1 e vai 1 pois passmos pelo 0. Depois fazemos 1 + 1 = 0 e vai 1, e 0 para 0 d 0. Depois temos 1 + 1 = 0 e vai 1, 0 para 1 d 1. Depois temos 1 + 1 = 0 e vai 1, 0 para 1 d 1. Repetimos a operao para o seguinte, 1 + 1 = 0 e vai 1, e 0 para 1 d 1. Por ltimo temos 1 + 0 = 1, para 1 d 0.

XXV

ELECTRNICA DIGITAL Sistemas de Numerao e Aritmtica Binria

2. Efectue as seguintes operaes em base hexadecimal: a) ABCDEF 1 3 4 5 6 7 B F 1 3 5 6

Comeando naturalmente pela direita: F + 7 = 6 e vai 1 porque passmos pelo 0. 1 + E + 6 = 5 e vai 1 porque passmos novamente pelo 0. 1 + D + 5 = 3 e vai um porque passmos pelo 0 novamente. 1 + C + 4 = 1 e vai 1 porque passmos novamente pelo 0. 1 + B + 3 = F e no vai nada porque no passmos pelo 0. A + 1 = B.

b) F324 DF34 13F0

Comeando novamente e naturalmente pelo direita: 4 para 4 d 0 e no vai nada. 3 para 2 d F, e como passmos pelo 0 vai 1. 1 + F = 0 e vai 1, 0 para 3 d 3. 1 - D = E para F d 1.

14. - EXERCCIOS PROPOSTOS


1. Efectue as seguintes operaes em binrio: a) b) 11101101 10101010 ________ 2. Efectue as seguintes operaes em hexadecimal: a) b) 345FDF 23FFF0 ______ XXVI 23FDCEF 12FDEBC _ _ _ _ _ _ _ 1010101 0101010 _______

ELECTRNICA DIGITAL Sistemas de Numerao e Aritmtica Binria

15. - DAS PORTAS LGICAS AT AO SOMADOR DIGITAL


Como construir um circuito que some dois nmeros de um bit cada ? Ser fcil aplicando os conhecimentos da matria anterior, ou seja, escolhendo os nmeros como entradas e fazer os circuitos lgicos da sada da soma e da sada de transporte. Fazendo A0 e B0 os dois nmeros de um bit cada, R0 o resultado da soma e Cout o transporte de sada podemos construir uma tabela de verdades e retirar as expresses de RO e Cout em funo de A0 e B0.

Entradas A0 0 0 1 1 B0 0 1 0 1 R0 0 1 1 0

Sadas Cout 0 0 0 1

Somando no primeiro caso 0 + 0, d 0 e vai 0. Somando no segundo caso 0 + 1 d l e vai 0. Somando no terceiro caso 1 + 0 d l e vai 0. Somando no quarto caso 1 + 1 d 0 e vai 1.

XXVII

ELECTRNICA DIGITAL Sistemas de Numerao e Aritmtica Binria

Olhando bem para as sadas podemos ver que a sada R0 o xor de A0 com B0 e a sada Cout o and de A0 com B0. Chegamos assim, a um circuito que efectua a soma de dois nmeros de um bit cada. Este circuito chama-se por semi - somador e o seu esquema apresentado na figura seguinte: Como realizar somas de nmeros com mais de um bit? Bem , vamos construir um circuito que some dois nmeros de um bit cada e tambm com um bit de transporte chamado Cin. Este circuito designa-se por somador e j permite a sua concatenao com outros somadores por forma a aumentar o nmero de bits de cada nmero a somar. Podemos ligar dois semi - somadores para realizar um somador completo como se mostra na figura seguinte:

XXVIII

ELECTRNICA DIGITAL Sistemas de Numerao e Aritmtica Binria

Como se pode verificar na figura, utilizamos os dois semi - somadores para construir um somador completo. O somador completo permite somar um transporte de entrada (cujo peso igual ao dos bits a somar) com dois bits do mesmo peso. A sada d o resultado com o mesmo peso dos bits somados e o transporte (Carry) que tem peso logo imediatamente a seguir. Se formos analisar como se chegou ao somador completo, basta pensarmos que somar Cin com A0 e com B0: sendo estes nmeros binrios de um bit cada. o resultado d no mximo 3 ou seja 11 em binrio. Somamos An com Bn e obtemos Rn e Cn+1. Depois somamos Rn com Cin e obtemos Rn e outro Cn+1. Basta depois aproveitar o Rn final e efectuarmos um "or" dos dois Cn+1 para obtermos o Cout final. Existe um circuito integrado construdo custa de somadores completos e soma dois nmeros de quatro bits cada um. Falamos do 7483 que mostramos j na figura seguinte:

Para o exterior, s esto disponveis as entradas Cin(0). A0, A1, A2, A3, B0, B1, S0, S1, S2, S3 e Cout(4). Este circuito tem um Cin de peso 0 para poder receber carry's (transportes) que podero vir de trs e tem um Cout para poder enviar o seu carry (de peso 4) em possveis interligaes.

XXIX

ELECTRNICA DIGITAL Sistemas de Numerao e Aritmtica Binria

16. - CDIGO DE COMPLEMENTOS


A numerao binria, at agora, s podia representar nmeros binrios naturais, ou seja, s nmeros positivos. Como representar ento os nmeros positivos em binrio? Torna-se fcil se pensarmos em dividir os cdigos binrios em positivos, negativos e o nmero 0. Assim se a 4 bits. era possvel representar nmeros de 0 a 15, agora representam-se os nmeros negativos de -8 a -1, o 0 e os positivos de 1 a 7. Sendo assim em cdigo de complementos, os nmeros com o bit mais esquerda a 1 so negativos, e os nmeros cujo bit mais esquerda 0 so positivos. Veja-se a tabela seguinte que mostra os nmeros a 4 bits em cdigo de complementos: Nmeros decimais 7 6 5 4 3 2 1 0 -1 -2 -3 -4 -5 -6 -7 -8 Nmeros em cdigo de complementos 0111 0110 0101 0100 0011 0010 0001 0000 1111 1110 1101 1100 1011 1010 1001 1000

Talvez seja de notar, j agora, que os nmeros pares tm o bit mais direita a 0 e os mpares tm o bit mais direita a 1. XXX

ELECTRNICA DIGITAL Sistemas de Numerao e Aritmtica Binria

Como calcular um nmero negativo decimal em cdigo de complementos e viceversa ? muito fcil. Por exemplo como converter o nmero -5 para cdigo de complementos? Pensemos no seu simtrico que 5. Escrevemos 5 em binrio natural, (101) como o menor nmero de bits possvel (neste caso 3). Acrescentamos um bit 0 esquerda (0101). Negamos o resultado bit a bit (1010). Somamos 1 (1010 + 1 = 1011). O nmero -5 decimal (1011) em cdigo de complementos. Tendo um nmero em cdigo de complementos, como o converter decimal ? fcil Por exemplo: (101 1) c.c converte-se para decimal da seguinte forma: Se for positivo, faz-se a converso binrio - decimal usando a tcnica anteriormente estudada. Se for negativo ( o caso) fazemos da seguinte forma: Negamos bit a bit o nmero (0100) e somamos 1 (0100 + 1 = 0101) e vemos que o resultado 5 em decimal. Se o resultado 5, ento o nmero (101 1) c.c -5 em decimal. Podemos daqui tirar uma concluso importante: para calcular o simtrico de um nmero em cdigo de complementos, negamos esse nmero bit a bit e soma-se 1.

XXXI

ELECTRNICA DIGITAL Sistemas de Numerao e Aritmtica Binria

17. - CDIGO DE GRAY


O cdigo de Gray um cdigo binrio em que duas quantidades consecutivas s diferem de um bit. um cdigo muito usado em projecto de mquinas assncronas (veremos mais frente), e por isso, ter algum interesse estud-lo aqui. A tabela seguinte mostra os 16 primeiros nmeros em Gray:

GRAY 0000 0001 0011 0010 0110 0111 0101 0100 1100 1101 1111 1110 1010 1011 1001 1000

Decimal 0 1 1 3 4 5 6 1 8 y 10 11 12 13 14 15

Binrio 0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 1010 1011 1100 1101 1110 1111

XXXII

ELECTRNICA DIGITAL Sistemas de Numerao e Aritmtica Binria

A converso binrio - gray feita usando a seguinte frmula: G0 = B0 XOR B1 G1 = B0 XOR B2 G2 = B0 XOR B3 Gk = B0 XOR G(k+1) Gn = Bn (ltimo bit)

A converso gray - binrio feita usando a seguinte frmula : B0 = G0 XOR G1 XOR ... XOR Gn B1 = G1 XOR G2 XOR ... XOR Gn Bk = Gk XOR G(k+1) ... XOR Gn Bn = Gn (ltimo bit)

Os circuitos lgicos que permitem esta converso esto apresentados em seguida:

BINRIO - GRAY

GRAY - BINRIO

XXXIII

ELECTRNICA DIGITAL Sistemas de Numerao e Aritmtica Binria

18. - DETECTORES DE ERROS SIMPLES


Para preservar a ausncia de erros em comunicao interessa sempre tentar descobrir esses erros, para os poder eliminar. Os erros em comunicao acontecem devido s condies de transmisso e recepo no serem ideais. Existem perdas nas linhas, rudos nas linhas, no ar, em qualquer meio existem sempre contras a uma boa comunicao. Em electrnica digital possvel detectar e corrigir esses erros. Assim se estabelecermos uma comunicao digital a n bits, acrescentamos um bit que o XOR de todos os outros e enviamo-lo tambm. Na recepo recebemos os n bits e tambm o bit n + 1 que o XOR dos outros todos e efectuamos agora um XOR dos n bits que recebemos com o bit n + 1, ficando na sada desse ltimo XOR a informao da existncia de erro ou no. A este bit que se acrescenta chama-se bit de paridade. Se neste caso o resultado do XOR da recepo for 0, ento o cdigo que chegou est correcto, se o XOR da recepo for 1 o cdigo no aceite. Este circuito chama-se detector de erros simples, e como simples que , tem as suas falhas, mas j consegue filtrar muitos erros em comunicao. Analise o seguinte esquema: Se enviar o valor (1111)2, o resultado do XOR de todos os bits 0. Enviamos ento (1111)2 e o 0 do XOR noutro bit. Se por acaso recebermos (1110)2, o XOR de (1110)2 com 0 do XOR recebido 1, tendo portanto assim a certeza de que houve um bit que se perdeu na linha. Se existirem dois bits eirados, o detector confunde-se e indica a inexistncia de erros. Este detector assim pouco fivel. Detector de erros simples Dados enviados Dados recebidos

Bit de paridade Emissor XXXIV Receptor

ELECTRNICA DIGITAL Sistemas de Numerao e Aritmtica Binria

19. - EXERCCIOS RESOLVIDOS


1. bits cada. Usando somadores 7483 realize um somador de dois nmeros de 8

Trata-se de uma concatenao simples usando o Cout do primeiro somador ligado ao Cin do segundo somador por forma efectuar o somador de dois nmeros de oito bits cada.

XXXV

ELECTRNICA DIGITAL Sistemas de Numerao e Aritmtica Binria

2. Utilizando somadores 7483 implemente um somador de trs nmeros de quatro bits cada.

Primeiro somamos A com B. Desse resultado sai uma soma S0..3 e o C4. Somamos S0..3 com C0..3 obtendo a soma final S0..3 e outro C4. Depois usamos outro somador para somar os bits de peso 4. Essa soma gera o bit final de peso 4 e um bit fina! de peso 5.

XXXVI

ELECTRNICA DIGITAL Sistemas de Numerao e Aritmtica Binria

3.

Efectue um conversor de binrio para cdigo de Gray para nmeros a oito bits.

4.

Efectue as seguintes converses: a) (-8) 10 (?)cc Em primeiro lugar vamos escrever 8 em binrio natural. (8)10 = (1000)2 Agora bastar negar bit a bit e somar 1 0111 + 1 = 1000

XXXVII

ELECTRNICA DIGITAL Sistemas de Numerao e Aritmtica Binria

b) (11101)cc = (?)2 Este nmero est em cdigo de complementos e negativo, pois o seu bit mais esquerda 1. Vamos negar bit a bit e somar 1 para achar o seu simtrico. 00010 + 1 = 00011 O resultado d 3 em decimal, o que significa que (11101)cc = (-3)10

c) (11101)2 = (?)gray A converso de binrio para Gray faz-se aplicando a frmula: G0 = B0 XOR B1 G1 = B0 XOR B2 Gk = Bk XOR B(k+1) Gn = Bn (ltimo bit).

G0 = B0 XOR B1 = 1 XOR 0 = 1 G1 = B1 XOR B2 = 0 XOR 1 = 1 G2 = B2 XOR B3 = 1 XOR 1 = 0 G3 = B3 XOR B4 = 1 XOR 1 = 0 G4 = B4 = 1 O nmero (11101 )2 = (10011)Gray

d) (11101)gray = (?)2 Esta converso faz-se da seguinte forma: B0 = G0 XOR G1 XOR G2 XOR G3 XOR G4 = 0 B1 = G1 XOR G2 XOR G3 XOR G4 = 1 B2 = G2 XOR G3 XOR G4 = 1 B3 = G3 XOR G4 = 0 B4 = G4 = 1 O nmero (11101)Gray (10110)2 XXXVIII

ELECTRNICA DIGITAL Sistemas de Numerao e Aritmtica Binria

20. - EXERCCIOS PROPOSTOS


1. Converta para decimal os seguintes nmeros em cdigo de complementos: a) b) (1110111) (0111011)

2.

Realize um circuito utilizando somadores 7483 que efectue somas de dois nmeros de dezasseis bits cada.

3.

Realize um detector de error simples para nmeros de 8 bits. Explique o seu funcionamento.

4.

Realize um circuito conversor de cdigo Gray para binrio natural.

XXXIX

ELECTRNICA DIGITAL Sistemas de Numerao e Aritmtica Binria

XL

ELECTRNICA DIGITAL Sistemas de Numerao e Aritmtica Binria

Bibliografia:

SEIA, Mrio Arajo; RODRIGUES, Victor Pimenta, 123 Projecto de Sistemas Digitais, Editora Presena.

XLI