Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                

Electrónica Digital: Sistemas de Numeração Aritemética Binária

Fazer download em pdf ou txt
Fazer download em pdf ou txt
Você está na página 1de 41

ELECTRÓNICA DIGITAL

SISTEMAS DE NUMERAÇÃO
ARITEMÉTICA BINÁRIA
ELECTRÓNICA DIGITAL
Sistemas de Numeração e Aritmética Binária

Ficha Técnica
Título: Electrónica Digital - Sistemas de Numeração e Aritmética Binária

Autor: Carlos Sousa

Coordenador de Edição: Luís Bomfim Barreiros

Editor: Edições Gustave Eiffel

Capa, Composição Gráfica e Acabamentos: Luís Bomfim Barreiros

Setembro de 2003 - 1ª Edição.

II
ELECTRÓNICA DIGITAL
Sistemas de Numeração e Aritmética Binária

ÍNDICE
1. - INTRODUÇÃO .................................................................................................................................. 5
2. - SISTEMAS DE NUMERAÇÃO.......................................................................................................... 6
2.1 - Tabela dos primeiros 16 números representados nas Bases 2, 8, 16 e 10 .............................. 7
3. - BASE 2 OU BINÁRIA ........................................................................................................................ 8
3.1 - Conversão Binário - Decimal ..................................................................................................... 8
3.2 - Conversão Decimal - Binário ..................................................................................................... 8
4. - BASE 8 OU OCTAL .......................................................................................................................... 9
4.1 - Conversão Octal - Decimal ........................................................................................................ 9
4.1 - Conversão Decimal - Octal ........................................................................................................ 9
4.2 - Conversão Octal - Binário ........................................................................................................ 10
4.3 - Conversão Binário - Octal ........................................................................................................ 10
5. - BASE 16 OU HEXADECIMAL ........................................................................................................ 11
5.1 - Conversão Hexadecimal - Decimal.......................................................................................... 11
5.2. - Conversão Decimal - Hexadecimal......................................................................................... 12
5.3 - Conversão Hexadecimal - Binário ........................................................................................... 12
5.4 - Conversão binário - hexadecimal ............................................................................................ 13
4.5 - Conversão Octal - Hexadecimal e Hexadecimal - Octal.......................................................... 13
6. - CÓDIGO BCD ................................................................................................................................. 14
6.1 - Conversão Decimal – BCD ...................................................................................................... 14
6.2 - Conversão BCD - Decimal ....................................................................................................... 14
6.3 - Conversão Binário - BCD ......................................................................................................... 14
6.4 - Conversão BCD - Binário ......................................................................................................... 14
7. - EXERCÍCIOS RESOLVIDOS.......................................................................................................... 15
8. - EXERCÍCIOS PROPOSTOS .......................................................................................................... 21
9. - ADIÇÃO DE NÚMEROS BINÁRIOS ............................................................................................... 22
10. - SUBTRACÇÃO DE NÚMEROS BINÁRIOS ................................................................................. 23
11. - ADIÇÃO DE NÚMEROS EM HEXADECIMAL .............................................................................. 24
12. - SUBTRACÇÃO DE NÚMEROS HEXADECIMAIS ....................................................................... 24
13. - EXERCÍCIOS RESOLVIDOS........................................................................................................ 25
14. - EXERCÍCIOS PROPOSTOS ........................................................................................................ 26
15. - DAS PORTAS LÓGICAS ATÉ AO SOMADOR DIGITAL ............................................................. 27
16. - CÓDIGO DE COMPLEMENTOS .................................................................................................. 30
17. - CÓDIGO DE GRAY ...................................................................................................................... 32
18. - DETECTORES DE ERROS SIMPLES ......................................................................................... 34

III
ELECTRÓNICA DIGITAL
Sistemas de Numeração e Aritmética Binária

19. - EXERCÍCIOS RESOLVIDOS ........................................................................................................ 35


20. - EXERCÍCIOS PROPOSTOS ........................................................................................................ 39

IV
ELECTRÓNICA DIGITAL
Sistemas de Numeração e Aritmética Binária

1. - INTRODUÇÃO

Este capítulo pretende dotar o leitor com conhecimentos sobre os sistemas de


numeração mais usados nas abordagens aos sistemas digitais. Dá-se também
aqui importância à aritmética binária e chega-se, com ela, à compreensão de
circuitos TTL que efectuam adições e subtracções entre valores binários. São
também alvo neste capítulo, códigos binários e circuitos básicos que permitem
detectar erros na comunicação entre sistemas. Por último apresenta-se uma
secção com exercícios resolvidos e outra com exercícios propostos, para que o
leitor possa treinar e por à prova os conhecimentos adquiridos.

5
ELECTRÓNICA DIGITAL
Sistemas de Numeração e Aritmética Binária

2. - SISTEMAS DE NUMERAÇÃO

Definido um conjunto de símbolos ou algarismos, qualquer quantidade pode ser


quantificada e representada por uma sequência desses algarismos. Posto isto,
podem definir-se quantos sistemas de numeração (ou bases ponderadas)
quisermos, mas no âmbito dos sistemas digitais será bom sabermos trabalhar com
as bases 2 ou binária, 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. Então 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 número 1996 na base decimal, como saber ou como calcular a
quantidade por ele representada?

É fácil... vejamos:

N = A0 * B0 + A1 * B1 + A2 * B2 + A3 * B3 + .....

será a quantidade em decimal, A0, A1, A2, A3 serão os algarismos de pesos 100,
101, 102, 103 (porque estamos na base 10) começando 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 * B2 + A4 * B3

N = 6 * 100 + 9 * 101 + 9 * 102 + 1 * 103

N = 6 * 1 + 9 * 10 + 9 * 100 + 1 * 1000

N = 6 + 90 + 900 + 1000

N = 1996

tal como seria de esperar.

Todos estes cálculos e teorias são válidos para as outras bases, diferindo apenas
a quantidade de algarismos de cada uma.

6
ELECTRÓNICA DIGITAL
Sistemas de Numeração e Aritmética Binária

2.1 - Tabela dos primeiros 16 números representados nas Bases 2, 8, 16 e 10

Decimal (10) Binária (2) Octal (8) Hexadecimal (16)

0 0000 0 0

1 0001 1 1

2 0010 2 2

3 0011 3 3

4 0100 4 4

5 0101 5 5

6 0110 6 6

7 0111 7 7

8 1001 10 8

9 1001 11 9

10 1010 12 A

11 1011 13 B

12 1100 14 C

13 1101 15 D

14 1110 16 E

15 1111 17 F

7
ELECTRÓNICA DIGITAL
Sistemas de Numeração e Aritmética Binária

3. - BASE 2 OU BINÁRIA

A base 2 ou binária é uma base que possui os algarismos 0 e 1 como seria de


esperar. Os algarismos da base dois também se designam por bits. Apesar do
número reduzido de algarismos qualquer quantidade pode aqui nesta base ser
representada. É muito fácil converter para o seu respectivo decimal um número
representado na base 2 e vice-versa.

3.1 - Conversão Binário - Decimal

A conversão binário - decimal é feita usando a fórmula atrás referida aplicada à


base 2:

N = A0 * B0 + A1 * B1 + ... + An * Bn

Onde B é sempre 2 e A0 é o bit mais à direita do número.


Como exemplo, converter o número (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 = 0 + 0 + 4 + 8

N = 12

Logo (1100)2 é igual a (12)10.

3.2 - Conversão Decimal - Binário

A conversão decimal - binário é feita fazendo divisões sucessivas por 2 do número


a converter até que o quociente seja 0, aproveitando os restos dessas divisões
como se mostra no seguinte exemplo:

Converter para binário o valor 40 em decimal:

(40)10 = (?)2

40 2 Note-se que quando o quociente da penúltima divisão


0 20 2 dá 1 continuamos a dividir mesmo sabendo que o
0 10 2 quociente agora de 1 a dividir por 2 é 0. para ficarmos
0 5 2 com o último resto que é 1. Deve fazer-se sempre
1 2 2 assim. Escrevendo agora os restos de baixo para cirna,
0 1 2 temos (101000)2 como o número (40)10 representado
1 0 na base 2. Logo (40)10 = (101000)2.

8
ELECTRÓNICA DIGITAL
Sistemas de Numeração e Aritmética Binária

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 fácil converter para o seu respectivo decimal um número representado na
base 8 e vice-versa.

4.1 - Conversão Octal - Decimal

A conversão octal - decimal é feita usando a fórmula atrás referida aplicada à base 8:

N = A0 * B0 + A1 * B1 + ... + An * Bn

Onde B é sempre 8 e A0 é o algarismo mais à direita do número.


Como exemplo, converter o número (131) na base 8 para a base 10:

N = 1 * 80 + 3 * 81 + 1 * 82

N = 1 * 1 + 3 * 8 + 1 * 64

N = 1 + 24 + 64

N = 89

Logo (131)8 = (89)10.

4.1 - Conversão Decimal - Octal

A conversão decimal - octal é feita fazendo divisões sucessivas por 8 do número a


converter, até que o quociente seja 0, aproveitando os restos dessas divisões
como se mostra no seguinte exemplo onde se converte o valor 40 decimal para a
base octal:

40 8 Note-se que o quociente da primeira divisão é 5 e continuamos a


0 5 8 dividir, mesmo sabendo que o quociente agora de 5 a dividir por 8 é
5 0 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 número (40)10 representado na base 8.

Logo (40)10 é igual a (50)8

9
ELECTRÓNICA DIGITAL
Sistemas de Numeração e Aritmética Binária

4.2 - Conversão Octal - Binário

Existem duas formas de fazer esta conversão:

A primeira consiste em converter o número em base octal para a base decimal e


depois converter o resultado em base decimal para base binária. Chama-se a este
processo o método das bases intermédias. Neste caso, converter da base octal
para decimal já foi visto e da base decimal para a base binária também, pelo que
não me vou referir a esses assuntos outra vez.

O outro processo é mais fácil, mas exige um total conhecimento da tabela dos
primeiros 16 números nas bases 10, 2, 8, 16, mostrada anteriormente. Sendo
assim se quisermos escrever o número (50)8 na base binária, temos que escrever
os seus algarismos um a um em binário a três bits. Assim temos 5 na base binária
é 101 e 0 na base binária é 000, e portanto o número (50) 8 é (101000)2 onde os
primeiros 3 bits representam o 5 e os últimos três bits representam o 0 do número
(50)8.

4.3 - Conversão Binário - Octal

Aqui também existem duas formas de fazer esta conversão:

Uma visa o uso de bases intermédias, ou seja, converter o número em base


binária para base decimal e depois converter esse resultado de base decimal para
base octal, estando estas conversões analisadas anteriormente, pelo que, não me
vou referir a elas.

O outro processo será eficaz se conhecer a tabela dos 16 primeiros números


apresentada anteriormente. Como tal, basta partir o número binário em partes de
três bits da direita para a esquerda e ver quanto vale cada parte em octal. Por
exemplo, o número (1000)2 partido em partes de três bits da direita para a
esquerda fica 1|000 ficando em octal o número (10)8, pois (000)2 = (0)8 e (1) 2 =
(1)8. Não se assuste de ficar com uma parte só com um bit, pois ela facilmente se
transforma em três bits (001) acrescentando zeros à esquerda.

10
ELECTRÓNICA DIGITAL
Sistemas de Numeração e Aritmética Binária

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 não 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 números escritos nesta base códigos alfanuméricos.
É muito fácil converter para o seu respectivo decimal um número representado na
base hexadecimal e vice-versa.

5.1 - Conversão Hexadecimal - Decimal

A conversão hexadecimal - decimal é feita usando a fórmula atrás referida


aplicada à base 16:

N = A0 * B0 + A1 * B1 + ... + An * Bn

Onde B é sempre 16 e A0 é o algarismo mais à direita do número.


Como exemplo, converter o número (BA)16 na base hexadecimal para a base
decimal.

N = A * 160 + B * 161

N = 10 * 1 + 11 * 16

N = 10 + 176

N = 186

Logo (BA)16 = (186)10 (nunca se esqueça que A representa a quantidade 10 em


decimal e B a quantidade 11).

11
ELECTRÓNICA DIGITAL
Sistemas de Numeração e Aritmética Binária

5.2. - Conversão Decimal - Hexadecimal

A conversão decimal - hexadecimal é feita fazendo divisões sucessivas por 16 do


número a converter até que o quociente seja 0, aproveitando os restos dessas
divisões como se mostra no seguinte exemplo: (255)10 =(?)16

255 16 Escrevendo agora os restos de baixo para cima, temos 15 e 15, no


095 15 16 entanto temos que os substituir pelos algarismos correspondentes
15 15 0 que são F e F formando o número (FF) 16 que é a representação 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 são efectuadas na base 10.

5.3 - Conversão Hexadecimal - Binário

Existem duas formas de fazer esta conversão: a primeira consiste em converter o


número em base hexadecimal para base decimal e depois converter o resultado
em base decimal para base binária. Chama-se a este processo o método das
bases intermédias. Neste caso, converter da base hexadecimal para decimal já foi
visto e da base decimal para a base binária também, pelo que não me vou referir a
esses assuntos outra vez.
O outro processo é mais fácil, mas exige um total conhecimento da tabela dos
primeiros 16 números nas bases 2, 8, 16, mostrada no início deste módulo.
Sendo assim se quisermos escrever o número (50) 16 na base decimal, temos que
escrever os seus algarismos um a um em binário a quatro bits. Assim temos 5 na
base binária é 0101 e 0 na base binária é 0000, e portanto o número (50) 8 é
(01010000)2 onde os primeiros 4 bits representam o 5 e os últimos 4 bits
representam o 0 do número (50)16.

12
ELECTRÓNICA DIGITAL
Sistemas de Numeração e Aritmética Binária

5.4 - Conversão binário - hexadecimal

Nesta situação, também existem duas formas de fazer esta conversão: uma visa o
uso de bases intermédias, ou seja, converter o número em base binária para base
decimal e depois converter esse resultado da base decimal para base
hexadecimal, estando estas conversões analisadas anteriormente pelo que, não
me vou referir a elas.
O outro processo será eficaz se conhecer a tabela dos 16 primeiros números
apresentada no início deste módulo. Como tal, basta partir o número binário em
partes de quatro bits da direita para a esquerda e ver quanto vale cada parte em
hexadecimal.
Por exemplo, o número (11111)2 partido em partes de 4 bits da direita para a
esquerda fica 1|1111. ficando em hexadecimal o número (1F)16, pois (1111)2 =
(F)16 e (1)2 = (1)16. Não 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 - Conversão Octal - Hexadecimal e Hexadecimal - Octal

Estes tipos de conversões fazem-se normalmente usando o método das bases


intermédias. No caso da conversão octal - hexadecimal converte-se da base octal
para a base binária e depois converte-se da base binária para a base
hexadecimal.
No caso da conversão hexadecimal - octal, converte-se da base hexadecimal para
a base binária e depois converte-se da base binária para a base octal.
Note que a base intermédia neste caso será a base binária, mas pode-se usar
como base intermédia a base decimal, no entanto, a base decimal como
intermédia envolve a realização de cálculos auxiliares, pelo que, a base binária
como intermédia é a opção mais fácil e menos morosa.

13
ELECTRÓNICA DIGITAL
Sistemas de Numeração e Aritmética Binária

6. - CÓDIGO BCD

Este código, como verá mais à frente, é um código que corresponde à


representação em binário a 4 bits de cada algarismo que compõem um número
em decimal.
Como exemplo, o número (1996)10 tem como correspondente BCD o código:
(0001 1001 1001 0110)BCD. Este código tem aplicações na área da electrónica
digital em representação de quantidades em displays de segmentos ou em
qualquer terminal de saída de informação.

6.1 - Conversão Decimal – BCD

Esta conversão é feita escrevendo cada algarismo decimal de um número no seu


equivalente binário a quatro bits. Por exemplo o número 2001 em decimal tem o
seu equivalente BCD 0010 0000 0000 0001.

6.2 - Conversão BCD - Decimal

Esta conversão é feita de forma inversa à anterior. Dividimos o número 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 número está mal representado em BCD.

6.3 - Conversão Binário - BCD

Esta conversão usa como base intermédia a base decimal. Converto o valor de
binário para decimal e depois converto o valor de decimal para binário.

6.4 - Conversão BCD - Binário

Esta conversão usa também a base decimal como intermédia. Converto para
decimal o número em BCD e depois converto de decimal para binário o valor em
causa.

14
ELECTRÓNICA DIGITAL
Sistemas de Numeração e Aritmética Binária

7. - EXERCÍCIOS RESOLVIDOS

1. Efectue as seguintes conversões entre bases numéricas:

a) (2048)10  (?????)2

Como se pode verificar trata-se de uma conversão da base decimal para


a base binária.
Vamos então fazer como é regra, divisões sucessivas do valor por dois
para acharmos os bits do número em base binária.

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 binária.

b) (512)10  (?)16

Ora, temos aqui uma conversão da base decimal para a base


hexadecimal. Temos de dividir o valor sucessivamente por 16 para achar
os algarismos hexadecimais do número.

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.

15
ELECTRÓNICA DIGITAL
Sistemas de Numeração e Aritmética Binária

c) (250)10 =(????)16

Trata-se de uma conversão de base decimal para base hexadecimal.


Vamos dividir sucessivamente por 16.

250 16
090 15 16
10 15 0

Vamos então 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 número FA em hexadecimal.

d) (492)10  (?)8

Bem, temos uma conversão da base decimal para a base octal. Vamos
dividir sucessivamente por 8 para obtermos o número 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 fórmula:

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 = 1 + 2 + 0 + 8 + 16 + 32

N = 59

Portanto, (111011)2 é igual a 59 em decimal

16
ELECTRÓNICA DIGITAL
Sistemas de Numeração e Aritmética Binária

f) (1110011101)2  (????)8

Trata-se de uma conversão entre base binária para a base octal.


Podemos utilizar a base decimal como intermédia, mas não é
necessário. Vamos dividir da direita para a esquerda o número em
binário em partes de três bits cada.

Vamos agora escrever o correspondente em octal de cada parte.

101  5 011  3 110  6 1  1

O número binário 1110011101 é igual a 1635 em octal.

g) (111001111110101)2  (?)16

Temos aqui uma conversão da base binária para a base hexadecimal. O


melhor método a utilizar é o de dividirmos o número em binário 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 número convertido para hexadecimal é 73F5

h) (7344) 8  (?)10

Neste caso temos de aplicar a fórmula:

N = A0 * B0 + A1 * B1 + ... + An * Bn

para calcular o equivalente decimal do número em questão.

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.

17
ELECTRÓNICA DIGITAL
Sistemas de Numeração e Aritmética Binária

i) (3765)8  (?)2

Nesta situação usamos o método de escrever cada dígito do número em


octal a três bits em binário. Usamos este método porque se trata de uma
conversão de octal para binário. Escrevemos agora os grupos de três
bits e ficamos com o número 11111110101 em binário.

j) 275)8  (?)16

Nesta situação usamos a base binária como intermédia. Convertendo


(275)8 em binário ficamos com 010111101. Agora pegamos no número
em binário, 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 número 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 dígito decimal no seu equivalente binário a quatro


bits:

3  0011 4  0100 5  0101

Então (345)10 é equivalente a (001101000101)BCD

18
ELECTRÓNICA DIGITAL
Sistemas de Numeração e Aritmética Binária

m) (111010)2  (?)BCD

Pois é, vamos usar a base decimal como intermédia. Vamos


primeiramente converter (111010)2 para decimal.

Usando a fórmula:

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 = 0 + 2 + 0 + 8 + 16 + 32

N = 58

Vamos agora escrever (58) 10 em BCD.

5  0101 8  1000

Logo (111010)2 é igual a (01011000)BCD

n) (00110111)BCD  (?)2

Vamos usar a base decimal como intermédia. Primeiro convertemos de


BCD para decimal dividindo o número em panes de quatro bits e
escrevendo o conteúdo de cada parte em decimal. O número em decimal
é 37. Vamos agora converter 37 decimal em binário usando para isso o
método das divisões 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 binário.

19
ELECTRÓNICA DIGITAL
Sistemas de Numeração e Aritmética Binária

o) (FE32)16  (????)8

Neste caso vamos usar a base binária como intermédia. Convertemos o


número de hexadecimal para binário escrevendo a quatro bits cada
dígito hexadecimal do número. Logo FE32 em hexadecimal é 1111 1110
0011 0010 em binário. Agora pegamos no número em binário e partimos
em grupos de três bits da direita para a esquerda. Ficamos com 1 111
111 000 110 010. Escrevemos agora cada grupo de três bits em octal.
Ficamos finalmente com (177062)8.

p) (DBA2)16  (????)10

Nesta situação temos de aplicar a célebre fórmula:

N = A0 * B0 + A1 * B1 + ... + An * Bn

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


Não se esqueça de trocar os dígitos hexadecimais pelos seus equivalentes decimais

N = 2 * 1 + 10 * 16 + 11 * 256 + 13 * 4096

N = 2 + 160 + 2816 + 53248

N = 56226

q) (DE6) 16  (?)2

Vamos usar o método de escrever cada dígito


hexadecimal em binário a quatro bits.

D  1101 E  1110 6  0110

Logo o número em binário é (110111100110)2

20
ELECTRÓNICA DIGITAL
Sistemas de Numeração e Aritmética Binária

8. - EXERCÍCIOS PROPOSTOS

1. O número 1999 está escrito em hexadecimal. Reescreva-o:

a) na base decimal.
b) na base binária.
c) na base octal.
d) em código BCD.

2. O número 3276 está escrito em octal. Reescreva-o:

a) em hexadecimal.
b) em binário.
c) em BCD.
d) em decimal.

3. O número F4E2 está escrito em hexadecimal. Reescreva-o:

a) em binário.
b) em decimal.
c) em octal.
d) em BCD.

4. O número 111011101 está escrito em binário. Reescreva-o:

a) em decimal.
b) em octal.
c) em hexadecimal.
d) em BCD.

5. O número 0011000100001000 está escrito em BCD. Reescreva-o:

a) em decimal.
b) em binário.
c) em octal.
d) em hexadecimal.

21
ELECTRÓNICA DIGITAL
Sistemas de Numeração e Aritmética Binária

9. - ADIÇÃO DE NÚMEROS BINÁRIOS

Quando andámos na escola primária ensinaram-nos a somar e a subtrair, mas


com o passar do tempo apenas ficámos com a técnica mecanizada e deixámos de
ligar ao "porquê da coisa". Assim para podermos somar e subtrair números
binários, temos que relembrar o "porquê da coisa".

Quando fazemos a conta 69 + 72 = 141 como procedemos? Fazemos:

69
+ 72
14 1

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 binário ou em qualquer base passa-se o mesmo, sempre que não é possível
representar o resultado com a mesma quantidade de algarismos que as parcelas
têm, temos de dizer "e vai um" e somar esse 1 no próximo peso. Tomemos como
exemplo a seguinte conta em binário:

01 1 1
+ 01 1 1
11 1 0

Começando naturalmente pela direita temos:

1 + 1 = 10 e porque não podemos representar 2 em binário só com um bit.


colocamos lá 0 e vai um para o peso seguinte. No peso seguinte temos 1 (de trás)
+ 1 + 1 = 11 (3)10, ou seja é 1 e vai l para o peso seguinte, pois 3 em binário é 11.
No peso seguinte temos 1 (de trás) 1 + 1 + 1 = 11 (3) 10, ou seja é l e vai l para o
peso seguinte. No último peso temos 1 (de trás) 1 + 0 + 0 = 1 e não vai nada.
É assim que se processa para todas as bases.

22
ELECTRÓNICA DIGITAL
Sistemas de Numeração e Aritmética Binária

10. - SUBTRACÇÃO DE NÚMEROS BINÁRIOS

A subtracção de números binários faz-se da mesma forma que a subtracção de


números 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 diferença


para um peso superior.
Esse um que vai é somado ao próximo peso e ficamos com 0 + 1 = 1 para l nada.
É assim que se faz também em binário, por exemplo:

11 1 0
– 01 1 1
01 1 1

Comecemos naturalmente pela direita: 1 para 0 é 1 e vai 1. pois fizemos a


diferença 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 próximo peso em
baixo e temos 1 + 1 = 0 para 1, 1 e vai um. Este último 1 soma-se ao próximo 0
ficando com 0 + 1 = 1 para 1 nada, acabando assim a subtracção. Coma a ajuda
dos exercícios resolvidos você irá aprender bem estas técnicas.

23
ELECTRÓNICA DIGITAL
Sistemas de Numeração e Aritmética Binária

11. - ADIÇÃO DE NÚMEROS EM HEXADECIMAL

Nesta base. passa-se a mesma coisa que em binário. Temos de somar peso a
peso e verificar se o valor resultante da soma de cada peso ultrapassa esse peso.
O número de vezes que se ultrapassa o peso tem de ser somado ao peso
seguinte. Esta operação faz-se para todos os pesos para obter o resultado final.

Como exemplo, vamos efectuar a soma:

54 F E
+ 45 6 7
9 A6 5

Começamos por fazer E+7 = 15, ou seja 5 e vai um. Depois somámos l (de trás)
mais F mais 6, o que resulta em 6 e vai um. Depois somámos l (de trás) com 4 e
com 5 e resultou A. Por último somámos 5 com 4 e deu 9. Sempre que passamos
de F para 0. acrescenta-se um o peso seguinte.

12. - SUBTRACÇÃO DE NÚMEROS HEXADECIMAIS

Nesta base. subtraímos 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:

55 F8
– 34 0 9
21 E F

Começando pela direita naturalmente: 9 para 8 é F. Como passámos pelo 0.


acrescentamos 1 ao peso seguinte. 0 + 1 para F dá 1 para F que é E. Como não
passámos pelo 0, não vai nada. Depois 4 para 5 é um. Como voltámos a não
passar pelo 0 não vai nada. Por último 3 para 5 dá 2.

24
ELECTRÓNICA DIGITAL
Sistemas de Numeração e Aritmética Binária

13. - EXERCÍCIOS RESOLVIDOS

1. Resolva as seguintes contas na base binária:

a)

1 1 0 1 1 1 1
1 1 1 1 1 0 0
+ 1 1 0 1 1 0 1
10 1 0 1 1 0 0 0

Começando 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 vão dois uns porque
passámos duas vezes pelo 0. Depois temos de somar 1 + 1 + 1 + 1 + 1, o que dá
1 e vão dois uns porque passámos 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 vão dois uns. Depois somamos 1 + 1 + 1 + 1 + 1, o que dá l e vão 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 não vai nada.

b)

11 1 10 1 01
– 01 1 11 1 11
01 1 1 0 1 10

Começamos pela direita novamente, 1 para 1 dá zero. 1 para 0 dá 1 e vai 1.


Somando o 1 que vai ao próximo peso temos 1 + 1 = 0, 0 para 1 dá 1 e vai 1 pois
passámos 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 operação 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.

25
ELECTRÓNICA DIGITAL
Sistemas de Numeração e Aritmética Binária

2. Efectue as seguintes operações em base hexadecimal:

a)

AB C D EF
+ 1 3 4 5 6 7
B F 1 3 5 6

Começando naturalmente pela direita: F + 7 = 6 e vai 1 porque passámos pelo 0.


1 + E + 6 = 5 e vai 1 porque passámos novamente pelo 0. 1 + D + 5 = 3 e vai um
porque passámos pelo 0 novamente. 1 + C + 4 = 1 e vai 1 porque passámos
novamente pelo 0. 1 + B + 3 = F e não vai nada porque não passámos pelo 0.
A + 1 = B.

b)

F3 24
– DF3 4
13 F0

Começando novamente e naturalmente pelo direita: 4 para 4 dá 0 e não vai nada.


3 para 2 dá F, e como passámos pelo 0 vai 1. 1 + F = 0 e vai 1, 0 para 3 dá 3.
1 - D = E para F dá 1.

14. - EXERCÍCIOS PROPOSTOS

1. Efectue as seguintes operações em binário:

a) b)

11 1 01 1 01 10 1 01 0 1
+ 10 1 01 0 10 – 01 0 10 1 0

__ _ __ _ __ __ _ __ _ _

2. Efectue as seguintes operações em hexadecimal:

a) b)

34 5F DF 23 FD C EF
+ 23 F FF 0 – 12 FD E BC

__ _ __ _ _ _ _ _ _ _ _

26
ELECTRÓNICA DIGITAL
Sistemas de Numeração e Aritmética Binária

15. - DAS PORTAS LÓGICAS ATÉ AO SOMADOR DIGITAL

Como construir um circuito que some dois números de um bit cada ? Será fácil
aplicando os conhecimentos da matéria anterior, ou seja, escolhendo os números
como entradas e fazer os circuitos lógicos da saída da soma e da saída de
transporte. Fazendo A0 e B0 os dois números de um bit cada, R0 o resultado da
soma e Cout o transporte de saída podemos construir uma tabela de verdades e
retirar as expressões de RO e Cout em função de A0 e B0.

Entradas Saídas

A0 B0 R0 Cout

0 0 0 0

0 1 1 0

1 0 1 0

1 1 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.

27
ELECTRÓNICA DIGITAL
Sistemas de Numeração e Aritmética Binária

Olhando bem para as saídas podemos ver que a saída R0 é o xor de A0 com B0 e
a saída Cout é o and de A0 com B0. Chegamos assim, a um circuito que efectua a
soma de dois números de um bit cada. Este circuito chama-se por semi - somador
e o seu esquema é apresentado na figura seguinte:
Como realizar somas de números com mais de um bit? Bem , vamos construir um
circuito que some dois números de um bit cada e também com um bit de
transporte chamado Cin. Este circuito designa-se por somador e já permite a sua
concatenação com outros somadores por forma a aumentar o número de bits de
cada número a somar.
Podemos ligar dois semi - somadores para realizar um somador completo como se
mostra na figura seguinte:

28
ELECTRÓNICA DIGITAL
Sistemas de Numeração e Aritmética Binária

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 saída 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 números binários de um bit cada. o resultado dá no máximo
3 ou seja 11 em binário. 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 construído à custa de somadores completos e soma
dois números de quatro bits cada um. Falamos do 7483 que mostramos já na
figura seguinte:

Para o exterior, só estão disponíveis 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
poderão vir de trás e tem um Cout para poder enviar o seu carry (de peso 4) em
possíveis interligações.

29
ELECTRÓNICA DIGITAL
Sistemas de Numeração e Aritmética Binária

16. - CÓDIGO DE COMPLEMENTOS

A numeração binária, até agora, só podia representar números binários naturais,


ou seja, só números positivos. Como representar então os números positivos em
binário? Torna-se fácil se pensarmos em dividir os códigos binários em positivos,
negativos e o número 0. Assim se a 4 bits. era possível representar números de 0
a 15, agora representam-se os números negativos de -8 a -1, o 0 e os positivos de
1 a 7. Sendo assim em código de complementos, os números com o bit mais à
esquerda a 1 são negativos, e os números cujo bit mais à esquerda é 0 são
positivos.

Veja-se a tabela seguinte que mostra os números a 4 bits em código de


complementos:

Números decimais Números em código de complementos

7 0111

6 0110

5 0101

4 0100

3 0011

2 0010

1 0001

0 0000

-1 1111

-2 1110

-3 1101

-4 1100

-5 1011

-6 1010

-7 1001

-8 1000

Talvez seja de notar, já agora, que os números pares têm o bit mais à direita a 0 e
os ímpares têm o bit mais à direita a 1.

30
ELECTRÓNICA DIGITAL
Sistemas de Numeração e Aritmética Binária

Como calcular um número negativo decimal em código de complementos e vice-


versa ? É muito fácil. Por exemplo como converter o número -5 para código de
complementos? Pensemos no seu simétrico que é 5. Escrevemos 5 em binário
natural, (101) como o menor número de bits possível (neste caso 3).
Acrescentamos um bit 0 à esquerda (0101). Negamos o resultado bit a bit (1010).

Somamos 1 (1010 + 1 = 1011).


O número -5 decimal é (1011) em código de complementos.

Tendo um número em código de complementos, como o converter decimal ? É


fácil Por exemplo:

(101 1) c.c converte-se para decimal da seguinte forma:

Se for positivo, faz-se a conversão binário - decimal usando a técnica


anteriormente estudada. Se for negativo (é o caso) fazemos da seguinte forma:

Negamos bit a bit o número (0100) e somamos 1 (0100 + 1 = 0101) e vemos que o
resultado é 5 em decimal. Se o resultado é 5, então o número (101 1) c.c é -5 em
decimal.
Podemos daqui tirar uma conclusão importante: para calcular o simétrico de um
número em código de complementos, negamos esse número bit a bit e soma-se 1.

31
ELECTRÓNICA DIGITAL
Sistemas de Numeração e Aritmética Binária

17. - CÓDIGO DE GRAY

O código de Gray é um código binário em que duas quantidades consecutivas só


diferem de um bit. É um código muito usado em projecto de máquinas assíncronas
(veremos mais à frente), e por isso, terá algum interesse estudá-lo aqui.

A tabela seguinte mostra os 16 primeiros números em Gray:

GRAY Decimal Binário

0000 0 0000

0001 1 0001

0011 1 0010

0010 3 0011

0110 4 0100

0111 5 0101

0101 6 0110

0100 1 0111

1100 8 1000

1101 y 1001

1111 10 1010

1110 11 1011

1010 12 1100

1011 13 1101

1001 14 1110

1000 15 1111

32
ELECTRÓNICA DIGITAL
Sistemas de Numeração e Aritmética Binária

A conversão binário - gray é feita usando a seguinte fórmula:

G0 = B0 XOR B1

G1 = B0 XOR B2
G2 = B0 XOR B3

Gk = B0 XOR G(k+1)

Gn = Bn (último bit)

A conversão gray - binário é feita usando a seguinte fórmula :

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 lógicos que permitem esta conversão estão apresentados em


seguida:

BINÁRIO - GRAY GRAY - BINÁRIO

33
ELECTRÓNICA DIGITAL
Sistemas de Numeração e Aritmética Binária

18. - DETECTORES DE ERROS SIMPLES

Para preservar a ausência de erros em comunicação interessa sempre tentar


descobrir esses erros, para os poder eliminar. Os erros em comunicação
acontecem devido às condições de transmissão e recepção não serem ideais.
Existem perdas nas linhas, ruídos nas linhas, no ar, em qualquer meio existem
sempre contras a uma boa comunicação. Em electrónica digital é possível detectar
e corrigir esses erros. Assim se estabelecermos uma comunicação digital a n bits,
acrescentamos um bit que é o XOR de todos os outros e enviamo-lo também. Na
recepção recebemos os n bits e também 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
saída desse último XOR a informação da existência de erro ou não. A este bit que
se acrescenta chama-se bit de paridade. Se neste caso o resultado do XOR da
recepção for 0, então o código que chegou está correcto, se o XOR da recepção
for 1 o código não é aceite. Este circuito chama-se detector de erros simples, e
como simples que é, tem as suas falhas, mas já consegue filtrar muitos erros em
comunicação.

Analise o seguinte esquema:

Se enviar o valor (1111)2, o resultado do XOR de todos os bits é 0. Enviamos


então (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 inexistência de
erros. Este detector é assim pouco fiável.

Detector de erros simples

Dados enviados Dados recebidos

Bit de paridade
Emissor Receptor

34
ELECTRÓNICA DIGITAL
Sistemas de Numeração e Aritmética Binária

19. - EXERCÍCIOS RESOLVIDOS

1. Usando somadores 7483 realize um somador de dois números de 8 bits


cada.

Trata-se de uma concatenação simples usando o Cout do primeiro somador ligado


ao Cin do segundo somador por forma efectuar o somador de dois números de
oito bits cada.

35
ELECTRÓNICA DIGITAL
Sistemas de Numeração e Aritmética Binária

2. Utilizando somadores 7483 implemente um somador de três números 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.

36
ELECTRÓNICA DIGITAL
Sistemas de Numeração e Aritmética Binária

3. Efectue um conversor de binário para código de Gray para números a oito


bits.

4. Efectue as seguintes conversões:

a) (-8) 10  (?)cc

Em primeiro lugar vamos escrever 8 em binário natural.

(8)10 = (1000)2

Agora bastar negar bit a bit e somar 1

0111 + 1 = 1000

37
ELECTRÓNICA DIGITAL
Sistemas de Numeração e Aritmética Binária

b) (11101)cc = (?)2

Este número está em código de complementos e é negativo, pois o seu bit


mais à esquerda é 1. Vamos negar bit a bit e somar 1 para achar o seu
simétrico.

00010 + 1 = 00011

O resultado dá 3 em decimal, o que significa que (11101) cc = (-3)10

c) (11101)2 = (?)gray

A conversão de binário para Gray faz-se aplicando a fórmula:

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 número (11101 )2 = (10011)Gray

d) (11101)gray = (?)2

Esta conversão 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 número (11101)Gray é (10110)2

38
ELECTRÓNICA DIGITAL
Sistemas de Numeração e Aritmética Binária

20. - EXERCÍCIOS PROPOSTOS

1. Converta para decimal os seguintes números em código de complementos:

a) (1110111)

b) (0111011)

2. Realize um circuito utilizando somadores 7483 que efectue somas de dois


números de dezasseis bits cada.

3. Realize um detector de error simples para números de 8 bits. Explique o seu


funcionamento.

4. Realize um circuito conversor de código Gray para binário natural.

39
ELECTRÓNICA DIGITAL
Sistemas de Numeração e Aritmética Binária

40
ELECTRÓNICA DIGITAL
Sistemas de Numeração e Aritmética Binária

Bibliografia:

SEIA, Mário Araújo; RODRIGUES, Victor Pimenta, “123 Projecto de Sistemas Digitais”, Editora
Presença.

41

Você também pode gostar