Upload
nguyenmien
View
213
Download
0
Embed Size (px)
Citation preview
Sistemas Digitais
10-04-2016 Octávio Dias Sistemas Digitais/1
Bibliografia de referência para a elaboração do texto de apoio
• Sistemas Digitais, A. Padilla, McGraw-Hill, 1993; • Sistemas Digitais – Princípios e Prática, M. Dias, FCA, 2012;• Digital Fundamentals, Prentice Hall, T. Floyd, 2006;
Curso de Licenciatura em Engenharia Informática
Curso de Licenciatura em Informática de Gestão
Sistemas Digitais
Sistemas Digitais
10-04-2016 Octávio Dias Sistemas Digitais/2
Grandeza física é tudo o que pode ser medido e expresso por intermédio de
um número e uma unidade de medida.
A grandeza física permite caracterizar avaliar em termos qualitativos e
quantitativos a evolução de um dado fenómeno físico, ou seja, estudar uma
dada ocorrência física observável relativa à matéria, energia ou espaço-tempo.
Grandeza física
1 – Introdução
São exemplos de grandezas físicas:
• a temperatura;
• a massa;
• a força;
• a velocidade;
• a aceleração.
Sistemas Digitais
10-04-2016 Octávio Dias Sistemas Digitais/3
Sinal eléctrico
v(t)
ia(t)
t
Em muitas situações uma grandeza é avaliada por intermédio de sinais
eléctricos. Assim, o sinal eléctrico, sendo ele próprio uma grandeza física,
representa a variação de outra grandeza física. Deste modo pode definir-se
sinal eléctrico como a variação de uma tensão ou corrente eléctrica, gerada por
um sistema de medida adequado à avaliação da gradeza física em estudo.
1 – Introdução
Sistemas Digitais
10-04-2016 Octávio Dias Sistemas Digitais/4
Grandezas analógicas
Na natureza as grandezas são analógicas, ou seja variam de uma forma
contínua no tempo e na amplitude. Por conseguinte, uma grandeza analógica
pode tomar um número infinito de valores.
A temperatura do ar constitui um exemplo de uma grandeza analógica.
Gráfico de uma grandeza analógica contínua (Fonte: Digital Fundamentals, T. Floyd, 2006)
1 – Introdução
Sistemas Digitais
10-04-2016 Octávio Dias Sistemas Digitais/5
No caso da grandeza analógica ser avaliada (amostrada) em intervalos de
tempo regulares (ou não), a grandeza/sinal resultante da amostragem é ainda
analógica uma vez que a sua amplitude continua a poder assumir um número
infinito de valores. Diz-se então que a grandeza/sinal é analógica discreta.
Gráfico de uma grandeza analógica discreta (Fonte: Digital Fundamentals, T. Floyd, 2006)
Grandezas analógicas
1 – Introdução
Sistemas Digitais
10-04-2016 Octávio Dias Sistemas Digitais/6
Grandezas digitais
Diz-se que uma grandeza/sinal é digital se apenas pode assumir um número
finito de valores, isto é, se varia de forma descontínua de um valor possível
para outro valor possível. As grandezas/sinais digitais foram criadas pelo
Homem, por em muitas aplicações, oferecerem um vasto conjunto de
vantagens sobre as gradezas/sinais analógicas.
1 – Introdução
Sistemas Digitais
10-04-2016 Octávio Dias Sistemas Digitais/7
Os sinais podem ser classificados como analógicos ou digitais;
Os sinais analógicos podem ser contínuos ou discretos no tempo;
Os sinais digitais são discretos no tempo e na amplitude.
analógicos
contínuos no tempo discretos no tempo
conversor A/D
digitais
sinais
a
t
a
t
a
t
Grandezas digitais
1 – Introdução
Sistemas Digitais
10-04-2016 Sistemas Digitais/8
Sistema
Um sistema é uma associação de dispositivos e/ou componentes interligados
que desempenha uma função complexa.
Octávio Dias
Por exemplo, um amplificador de som é um sistema constituído pelos
dispositivos microfone, amplificador e alto-falante.
Sistema de amplificação de som (Fonte: Digital Fundamentals, T. Floyd, 2006)
1 – Introdução
Sistemas Digitais
10-04-2016 Octávio Dias Sistemas Digitais/9
Dispositivo
Um dispositivo é um circuito constituído por vários componentes que realizauma função simples.
Esquema electrónico de um amplificador de som.
1 – Introdução
Sistemas Digitais
10-04-2016 Octávio Dias Sistemas Digitais/10
Componente
Um componente é cada uma das partes que constitui um dispositivo.
Componentes de um amplificador de som.
1 – Introdução
Sistemas Digitais
10-04-2016 Octávio Dias Sistemas Digitais/11
Exemplo de um sistema electrónico analógico
O sistema de amplificação de som ilustrado na figura, é um sistema analógico
puro, uma vez que todos os sinais processados estão na forma analógica.
Amplificador de áudio analógico (Fonte: Digital Fundamentals, T. Floyd, 2006)
1 – Introdução
Sistemas Digitais
10-04-2016 Octávio Dias Sistemas Digitais/12
Exemplo de um sistema electrónico analógico e digital
O sistema de amplificação de som ilustrado na figura, é um sistema que tem
por entrada sinais digitais, provenientes do CD, que após convertidos para a
forma analógica são processados pelo amplificador linear.
Leitor de CD áudio (Fonte: Digital Fundamentals, T. Floyd, 2006)
1 – Introdução
Sistemas Digitais
10-04-2016 Octávio Dias Sistemas Digitais/13
2 – Sistemas de numeração
Sistema decimal
O sistema decimal ou de base dez é a linguagem natural do Homem. De facto, na vida
diária usamos um sistema de numeração baseado nos dez dígitos,
0, 1, 2, 3, 4, 5, 6, 7, 8, 9
o que justifica a designação de sistema decimal.
Por exemplo, no sistema decimal, o número 4728 corresponde a 4 milhares, 7 centenas,
2 dezenas e 8 unidades, ou seja,
4728=4×(1000)+7×(100)+2×(10)+8×(1)
Conclui-se assim que, cada digito no número é multiplicado por dez elevado a uma
potência que corresponde à posição do digito no número, isto é,
4728=(4×103)+(7×102)+(2×101)+(8×100)
Sistemas Digitais
10-04-2016 Octávio Dias Sistemas Digitais/14
Sistema decimal
No sistema decimal, uma fracção é representada segundo o mesmo princípio, porém, os
expoentes das potências de base 10 são negativos.
di são os dígitos que constituem o número, com i a indicar a sua posição no número.
2 – Sistemas de numeração
Assim, um número com parte inteira e parte decimal, comporta dígitos ponderados por
potências de base dez com expoente positivo ou negativo, em função da posição que
ocupam no número, à esquerda ou à direita da vírgula, respectivamente. Por exemplo,
472,256=(4×102)+(7×101)+(2×100)+(2×10-1)+(5×10-2) +(6×10-3)
Generalizando, pode concluir-se que, um número N na base dez tem a representação,
∑=⇔×+×+×+×+×+×−
−
−
−
−
i
i
idNddddddd 10...101010101010...
3
2
2
1
1
0
0
1
1
2
2
3
3
Sistemas Digitais
10-04-2016 Octávio Dias Sistemas Digitais/15
Sistema de base b
2 – Sistemas de numeração
O raciocínio usada para interpretar a representação de um número N na base dez, pode
ser generalizado a um qualquer sistema de numeração ponderado de uma qualquer base
b natural.
Ou seja, a representação de um número N em um qualquer sistema ponderado de base
b natural, é descrita pelo algoritmo,
∑=⇔×+×+×+×+×+×−
−
−
−
−
i
i
ibdNdbdbdbdbdbdbd ......
3
2
2
1
1
0
0
1
1
2
2
3
3
Onde d representa os dígitos que constituem o número, b representa a base do sistema
de numeração, e o índice i representa a posição do digito no número.
Realça-se que nestes sistemas de numeração o número de dígitos diferentes é igual ao
valor b da base.
Sistemas Digitais
10-04-2016 Octávio Dias Sistemas Digitais/16
Sistema binário
No sistema binário, ou sistema de base dois, os números são representados por
intermédio de dois dígitos diferentes (0 e 1), ponderados por potências de base 2.
Sempre que a situação se preste a equívocos, a representação do número, é
complementada por um índice que indica a base de representação. Por exemplo, os
números 0 e 1 têm a mesma representação nos sistemas binário e decimal.
2 – Sistemas de numeração
O sistema binário é a linguagem natural dos computadores. De facto, nestes dispositivos,
a informação é guardada por intermédio de códigos que se baseiam em dois estados,
que correspondem à presença (símbolo binário 1) ou ausência (símbolo binário 0) de
energia eléctrica.
02 = 010 ; 12 = 110
Sistemas Digitais
10-04-2016 Octávio Dias Sistemas Digitais/17
∑=⇔×+×+×+×+×+×−
−
−
−
−
i
i
idNddddddd 2...222222...
3
2
2
1
1
0
0
1
1
2
2
3
3
Sistema binário
2 – Sistemas de numeração
Em coerência com que atrás foi dito, o valor expresso na base dez de um número
binário é determinado por intermédio do algoritmo,
Assim, o valor número binário,
1001,1012
expresso no sistema decimal toma a forma,
(1×23)+(0×22)+(0×21)+(1×20)+(1×2-1)+(0×2-2)+(1×2-3)=8+0+0+1+1/2+0+1/8
=9+0,5+0,125=9,62510
Sistemas Digitais
10-04-2016 Octávio Dias Sistemas Digitais/18
E 2.1 - Converta 10112 para decimal
1011,1012=(1×23)+(0×22)+(1×21)+(1×20)+(1×2-1)+(0×2-2)+(1×2-3)=11,62510
1011,1012 =11,62510
10112=(1×23)+(0×22)+(1×21)+(1×20)=1110
10112 =1110
0,0012=(0×2-1)+(0×2-2)+(1×2-3)=0,12510
E 2.2 - Converta 0,0012 para decimal
0,0012 =0,12510
E 2.3 - Converta 1011,1012 para decimal
2 – Sistemas de numeração
Conversão do sistema binário para o sistema decimal
Sistemas Digitais
10-04-2016 Octávio Dias Sistemas Digitais/19
Conversão do sistema decimal para o sistema binário
Para converter um número representado na base dez para a base dois, a parte inteira e a
parte fraccionária são convertidas separadamente.
Parte inteira
A parte inteira de um número decimal é convertida para binário, por intermédio de
divisões sucessivas por 2.
E 2.4- Converta 13610 para binário
13610 =100010002
2 – Sistemas de numeração
LSD
MSD
Sistemas Digitais
10-04-2016 Octávio Dias Sistemas Digitais/20
0,37510 =0,0112 (valor exacto)
Parte fraccionária
E 2.5 - Converta 0,37510 para binário
2 – Sistemas de numeração
Conversão do sistema decimal para o sistema binário
A parte fraccionária de um número decimal é convertida para binário, por intermédio de
multiplicações sucessivas por 2, como se mostra nos exemplos que a seguir expõem.
Sistemas Digitais
10-04-2016 Octávio Dias Sistemas Digitais/21
Parte fraccionária
E 2.6 - Converta 0,8110 para binário com seis dígitos
0,8110 =0,1100112 (valor aproximado)
2 – Sistemas de numeração
0,81×2=1,62 → d-1=1
0,62×2=1,24 → d-2=1
0,24×2=0,48 → d-3=0
0,48×2=0,96 → d-4=0
0,96×2=1,92 → d-5=1
0,92×2=1,94 → d-6=1
Conversão do sistema decimal para o sistema binário
Sistemas Digitais
10-04-2016 Octávio Dias Sistemas Digitais/22
Sistema octal
2 – Sistemas de numeração
O sistema octal ou sistema de base oito, utiliza os oito dígitos,
0, 1, 2, 3, 4, 5, 6 , 7
Cada um dos dígitos que integram um número representado na base oito, é
ponderado por potências de base 8, cujo expoente depende da posição que
ocupam no número. Por exemplo, para o número 24,68 tem-se,
24,68=(2×81)+(4×80)+(6×8-1) = 16+4+6×1/8= 20,7510
De facto, o número representado pela soma de cada um dos dígitos
ponderados por potências de 8, com os expoentes a dependerem da posição
que ocupam no número, constitui a sua conversão para a forma decimal.
Sistemas Digitais
10-04-2016 Octávio Dias Sistemas Digitais/23
2 – Sistemas de numeração
Conversão do sistema octal para o sistema decimal
E 2.7 - Converta 16348 para decimal
16348=(1×83)+(6×82)+(3×81)+(4×80)
E 2.8 - Converta 0,348 para decimal
0,348=(3×8-1)+(4×8-2)
0,348 =0,437510
16348 =92410
E 2.9 - Converta 16,348 para decimal
16,348=(1×81)+(6×80)+(3×8-1)+(4×8-2)
16,348 =14,437510
Sistemas Digitais
943 8
14 117 8
63 37 14 8
7 5 6 1 8
1 0
10-04-2016 Octávio Dias Sistemas Digitais/24
2 – Sistemas de numeração
Conversão do sistema decimal para o sistema octal
E 2.10 - Converta 94310 para octal
LSD
MSD
94310 =16578
E 2.11 - Converta 0,20312510 para octal
0,203125 × 8=1,625000 → d-1=1
0,625 × 8=5,000000 → d-2=5
0,20312510 =0,158 (valor exacto)
Sistemas Digitais
10-04-2016 Octávio Dias Sistemas Digitais/25
0,974310 =0,76268 (valor aproximado)
943,974310 =1657,76268 (valor aproximado)
2 – Sistemas de numeração
Conversão do sistema decimal para o sistema octal
E 2.12 - Converta 0,974310 para octal com quatro dígitos
0,9473×8=7,7944 → d-1=7
0,7944×8=6,3552 → d-2=6
0,3552×8=2,8416 → d-3=2
0,8416×8=6,7328 → d-4=6
E 2.13 - Converta 943,974310 para octal com quatro dígitos na parte fraccionária
Dos exercícios E2.10 e E2.12 conclui-se que,
943,974310 =16578+0,76268 =1657,76268
Sistemas Digitais
10-04-2016 Octávio Dias Sistemas Digitais/26
2 – Sistemas de numeração
Conversão do sistema octal para o sistema binário
E 2.14 - Converta 3218 para binário
Para converter um número representado na base oito para a sua representação na base
dois, converte-se cada um dos dígitos octais para a sua representação binária. O número
representado na base dois é formado pelo dígitos binários assim obtidos, respeitando a
ordem pela qual foram determinados.
3218 =0110100012=110100012
3 2 1
010 001011
Sistemas Digitais
10-04-2016 Octávio Dias Sistemas Digitais/27
2 – Sistemas de numeração
Conversão do sistema octal para o sistema binário
E 2.15 - Converta 0,7468 para binário
0,746
100 110111
0,7468 =0,1111001102
E 2.16 - Converta 323,7468 para binário
3 2 5 , 7 4 6
101
111011 010 100 110
325,7468 =11010101,1111001102
Sistemas Digitais
10-04-2016 Octávio Dias Sistemas Digitais/28
2 – Sistemas de numeração
Conversão do sistema binário para o sistema octal
Em seguida converte-se para octal cada um dos grupos. O número
representado em octal é formado pelo conjunto de dígitos obtidos respeitando
a ordem pela qual foram determinados.
Parte inteira do número - agrupam-se os dígitos que formam o número binário em grupos
de três bits, da direita para a esquerda. Se necessário acrescentam-se zeros à esquerda
para completar o último grupo.
Parte fraccionária do número - agrupam-se os dígitos que formam o número binário em
grupos de três bits, da esquerda para a direita. Se necessário acrescentam-se zeros à
direita para completar o último grupo.
Para converter um número da base dois para a base oito, procede-se do seguinte modo:
Sistemas Digitais
10-04-2016 Octávio Dias Sistemas Digitais/29
2 – Sistemas de numeração
Conversão do sistema binário para o sistema octal
E 2.17 - Converta 110100112 para octal
011 010 011
3 2 3110100112 =3238
E 2.18 - Converta 0,111100112 para octal
0, 111 100 110
7 4 60,111100112 =0,7468
E 2.19 - Converta 11010011,111100112 para octal
Dos exercícios E2.17 e E2.18 conclui-se que,
11010011,111100112 = 323,7468
Sistemas Digitais
10-04-2016 Octávio Dias Sistemas Digitais/30
Sistema hexadecimal
2 – Sistemas de numeração
O sistema hexadecimal ou sistema de base dezasseis, utiliza os dezasseis símbolos:
0, 1, 2, 3, 4, 5, 6 , 7, 8, 9, A, B, C, D, E, Fcom,
A=1010, B=1110, C=1210, D=1310, E=1410, F=1510,
Cada um dos símbolos que formam um número representado na base
dezasseis, é ponderado por potências de base 16, cujo expoente depende da
posição que ocupam no número. Por exemplo, para o número 24,616, tem-se:
24,616= 24,6H=(2×161)+(4×160)+(6×16-1) = 32+4+6×6/16= 36,37510
O número representado pela soma dos seus símbolos ponderados por
potências de base 16, com os expoentes a dependerem da posição que
ocupam no número, constitui a representação do número na base dez.
Sistemas Digitais
10-04-2016 Octávio Dias Sistemas Digitais/31
2 – Sistemas de numeração
Conversão do sistema hexadecimal para o sistema decimal
E 2.20 - Converta 123A16 para decimal
123A16=(1×163)+(2×162)+(3×161)+(10×160) = 466610
123A16 =466610
E 2.21 - Converta 0,2F16 para decimal
0,2F16=(2×16-1)+(15×16-2) = (2×1/16) + (15/162) = 0,125+0,0585937510 =0,1835937510
0,2F16=0,1835937510
E 2.22 - Converta 123A,2F16 para decimal
123A,2F16=4666,1835937510
Dos exercícios E2.20 e E2.21 conclui-se que,
Sistemas Digitais
10-04-2016 Octávio Dias Sistemas Digitais/32
2 – Sistemas de numeração
Conversão do sistema decimal para o sistema hexadecimal
E 2.23 - Converta 94310 para hexadecimal
943 16
143 58 16
15 10 3 16
3 0
94310 =3AF16
E 2.24 - Converta 0,974310 para hexadecimal com quatro digitos
LSD
MSD
0,9473×16=15,5888 → d-1=F
0,5888×16=9,4208 → d-2=9
0,4208×16=6,7328 → d-3=6
0,7328×16=11,7248 → d-4=B
0,974310 =F96B16
Sistemas Digitais
10-04-2016 Octávio Dias Sistemas Digitais/33
2 – Sistemas de numeração
Conversão do sistema decimal para o sistema hexadecimal
E 2.25 - Converta 943,974310 para hexadecimal
943 16
143 58 16
15 10 3 16
3 0LSD
MSD
0,9473×16=15,5888 → d-1=F
0,5888×16=9,4208 → d-2=9
0,4208×16=6,7328 → d-3=6
0,7328×16=11,7248 → d-4=B0,974310 =0,F96B16
Parte inteira
Parte fraccionária94310 =3AF16
Assim: 943,974310 =3AF,F96B16
Sistemas Digitais
10-04-2016 Octávio Dias Sistemas Digitais/34
2 – Sistemas de numeração
Conversão do sistema hexadecimal para o sistema binário
Para converter um número representado na base dezasseis para a sua representação na
base dois, converte-se cada um dos símbolos hexadecimais para a sua representação
binária. O número representado na base dois é formado pelos dígitos binários assim
obtidos, respeitando a ordem pela qual foram determinados.
E 2.25 - Converta F2B16 para binário
F2B16 =1111001010112
F 2 B
0010 10111111
Sistemas Digitais
10-04-2016 Octávio Dias Sistemas Digitais/35
2 – Sistemas de numeração
Conversão do sistema binário para o sistema hexadecimal
Em seguida converte-se cada um dos grupos para a representação
hexadecimal. O conjunto dos símbolos obtidos constituem a representação
hexadecimal do número.
Para converter um número da base dois para a base dezasseis, procede-se do seguinte
modo:
Parte inteira do número - agrupam-se os dígitos que formam o número binário em grupos
de quatro bits, da direita para a esquerda. Se necessário acrescentam-se zeros à
esquerda para completar o último grupo
Parte fraccionária do número - agrupam-se os dígitos que formam o número binário em
grupos de quatro bits, da esquerda para a direita. Se necessário acrescentam-se zeros à
direita para completar o último grupo.
Sistemas Digitais
10-04-2016 Octávio Dias Sistemas Digitais/36
E 2.26 - Converta 1010100112 para hexadecimal.
0001 0101 0011
1 5 31010100112 =153H
2 – Sistemas de numeração
Conversão do sistema binário para o sistema hexadecimal
E 2.27 - Converta 0,101012 para hexadecimal.
0, 1010 1000
10 8
0,101012 =0,A8H
E 2.28 - Converta 101010011,101012 para hexadecimal.
101010011,101012 =153, A8H
Dos exercícios E2.26 e E2.27 conclui-se que,
Sistemas Digitais
10-04-2016 Octávio Dias Sistemas Digitais/37
Correspondência entre as notações decimal, binária octal e hexadecimal
2 – Sistemas de numeração
Sistemas Digitais
10-04-2016 Octávio Dias Sistemas Digitais/38
3 – Operações aritméticas
Algoritmo da adição numa base b
• Este procedimento é aplicado sucessivamente às colunas seguintes.
• Se o resultado da adição dessa coluna for inferior ao valor da base b, o valor da
soma é colocado na coluna sem alteração.
• Se a soma da coluna for igual ou maior do que o valor b da base do sistema de
numeração, então o resultado da adição é a diferença entre o valor produzido e o
valor b, gerando-se um transporte C (Carry) igual a 1 para a coluna seguinte.
O algoritmo da soma em uma qualquer base b de numeração, corresponde aos
seguintes passos:
• Começa-se pela coluna mais à direita.
Sistemas Digitais
10-04-2016 Octávio Dias Sistemas Digitais/39
3 – Operações aritméticas
Adição na base 10
Tabela de adição no sistema decimal
+ 0 1 2 3 4 5 6 7 8 9
0 0 1 2 3 4 5 6 7 8 9
1 1 2 3 4 5 6 7 8 9 10
2 2 3 4 5 6 7 8 9 10 11
3 3 4 5 6 7 8 9 10 11 12
4 4 5 6 7 8 9 10 11 12 13
5 5 6 7 8 9 10 11 12 13 14
6 6 7 8 9 10 11 12 13 14 15
7 7 8 9 10 11 12 13 14 15 16
8 8 9 10 11 12 13 14 15 16 17
9 9 10 11 12 13 14 15 16 17 18
Sistemas Digitais
10-04-2016 Octávio Dias Sistemas Digitais/40
Coluna 1. A soma desta coluna é igual ou maior a b=10, então o resultado é dado por
(9+5) - 10 = 14-10 = 4. Gera o transporte C=1, para a coluna 2.
3 – Operações aritméticas
Adição na base 10
E 3.1 - Considere-se a adição 43510+38910.
Coluna 2. O transporte (C=1) da coluna anterior é contabilizado na soma desta coluna.
Tem-se assim: 1+3+8=12, por consequência, o resultado da soma é dado por 12-10=2, e
gera o transporte C=1, para a coluna 3.
Coluna 3. O transporte (C=1) da coluna anterior é contabilizado na soma desta coluna.
Tem-se assim: 1+4+3 = 8. Não gera transporte, pois 8 é inferior a 10.
110
Sistemas Digitais
10-04-2016 Octávio Dias Sistemas Digitais/41
+ 0 1
0 0 1
1 1 1 0
3 – Operações aritméticas
Adição na base 2
Tabela de adição no sistema binário
0+0=0
0+1=1
1+0=1
1+1=10 (resultado = 0; transporte=1)
Sistemas Digitais
10-04-2016 Octávio Dias Sistemas Digitais/42
3 – Operações aritméticas
Adição na base 2
E 3.2 - Determine a soma 11112+1012
Coluna 1. A soma desta coluna é igual ou maior a b=2, deste modo, o resultado é dado
por (1+1) -2= 2-2 = 0. Gera o transporte C=1, para a coluna 2.
Coluna 2. O transporte C=1 da coluna anterior é contabilizado na soma desta coluna.
Logo, 1+1+0=2, e o resultado é 2-2=0. Gera o transporte C=1, para a coluna 3.
Coluna 3. O transporte C=1 da coluna anterior é contabilizado na soma desta coluna.
Logo, 1+1+1=3, portanto, o resultado é 3-2=1. Gera o transporte C=1, para a coluna 4.
Coluna 4. Com o transporte C=1 da coluna 3, tem-se: 1+1=2; 2-2=0, com C=1. Logo, a
soma desta coluna é 1 0.
1111
Sistemas Digitais
10-04-2016 Octávio Dias Sistemas Digitais/43
3 – Operações aritméticas
Adição na base 8
Tabela de adição no sistema octal
+ 0 1 2 3 4 5 6 7
0 0 1 2 3 4 5 6 7
1 1 2 3 4 5 6 7 10
2 2 3 4 5 6 7 10 11
3 3 4 5 6 7 10 11 12
4 4 5 6 7 10 11 12 13
5 5 6 7 10 11 12 13 14
6 6 7 10 11 12 13 14 15
7 7 10 11 12 13 14 15 16
Sistemas Digitais
10-04-2016 Octávio Dias Sistemas Digitais/44
Adição na base 8
E 3.3 - Determine a soma 2768+3078.
Coluna 1. A soma desta coluna é igual ou maior a b=8, deste modo, o resultado é dado
por (6+7) = 13-8 = 5. Gera o transporte C=1, para a coluna 2.
Coluna 2. O transporte C=1 da coluna anterior é contabilizado na soma desta coluna.
Logo, 1+(7+0)=8, e o resultado é 8-8=0. Gera o transporte C=1, para a coluna 3.
Coluna 3. O transporte C=1 da coluna anterior é contabilizado na soma desta coluna.
Logo, 1+(2+3)=6, portanto, o resultado é 6, uma vez que 6 é menor do que b=8. Não
gera transporte.
3 – Operações aritméticas
2 7 6
+ 3 0 7
6 0 5
Sistemas Digitais
10-04-2016 Octávio Dias Sistemas Digitais/45
3 – Operações aritméticas
Adição na base 16
Tabela de adição no sistema hexadecimal
Sistemas Digitais
10-04-2016 Octávio Dias Sistemas Digitais/46
3 – Operações aritméticas
Adição na base 16
E 3.4 - Determine a soma 4A5716+D29316.
Coluna 1. A soma desta coluna é menor do que b=16. De facto, 7+3=10=A. Assim, o
resultado é A. Não gera transporte.
Coluna 2. A soma desta coluna é menor do que b=16. De facto, 5+9=14=E. Assim, o
resultado é E. Não gera transporte.
Coluna 3. A soma desta coluna é menor do que b=16. De facto, 10+2=12=C. Assim, o
resultado é C. Não gera transporte.
Coluna 4. A soma desta coluna é maior ou igual do que b=16. De facto, 4+13=17. Tem-se
assim, 17-16=1. Gera o transporte C=1. Logo, a soma desta coluna é 1 1.
Sistemas Digitais
10-04-2016 Octávio Dias Sistemas Digitais/47
3 – Operações aritméticas
Algoritmo da subtracção numa base b
• Este procedimento é aplicado sucessivamente a todas as colunas.
• Se numa qualquer coluna i, o aditivo for menor do que o subtractivo, soma-se o valor
da base do sistema de numeração ao aditivo e coloca-se na coluna i o resultado da
diferença entre o valor dessa soma e o subtractivo, gerando-se um transporte C
(Carry) igual a 1 que se soma ao subtractivo da coluna i+1;
O algoritmo da subtracção em uma qualquer base b de numeração, corresponde aos
seguintes passos:
• Se numa qualquer coluna i, o aditivo for maior do que o subtractivo, o resultado dessa
coluna corresponde à subtracção simples;
• Começa-se pela coluna mais à direita.
Sistemas Digitais
10-04-2016 Octávio Dias Sistemas Digitais/48
3 – Operações aritméticas
Subtracção na base 10
E 3.5 - Determine a subtracção 2310-810.
Coluna 1. Como o aditivo 3 é menor do que subtractivo 8, soma-se o valor da base do
sistema b=10 ao aditivo, faz-se a diferença (10+3)-8=5. Gera o transporte C=1, que é
somado ao subtractivo da coluna 2.
Coluna 2. Soma-se o transporte C=1 da coluna anterior, ao subtractivo desta coluna
0+1=1. Como o aditivo não é menor do que 1, obtém-se, 2-1 =1.
Sistemas Digitais
10-04-2016 Octávio Dias Sistemas Digitais/49
3 – Operações aritméticas
Subtracção na base 2
E 3.6 - Determine a subtracção 102-12.
Coluna 1. Como o aditivo 0 é menor do que subtractivo 1, soma-se o valor da base do
sistema b=2 ao aditivo, faz-se a diferença (2+0)-1=1. Gera o transporte C=1, que é
somado ao subtractivo da coluna 2.
Coluna 2. Soma-se o transporte C=1 da coluna anterior, ao subtractivo desta coluna
0+1=1. Como o aditivo não é menor do que 1, obtém-se, 1-1 =0.
Sistemas Digitais
10-04-2016 Octávio Dias Sistemas Digitais/50
3 – Operações aritméticas
Subtracção na base 8
E 3.7 - Determine a subtracção 7028-3768.
Coluna 1. Como o aditivo 2 é menor do que subtractivo 6, soma-se o valor da base do
sistema b=8 ao aditivo e faz-se a diferença (2+8)-6=4. Gera o transporte C=1, para
somar ao subtractivo da coluna 2.
Coluna 2. Soma-se o transporte C=1 da coluna 1, ao subtractivo desta coluna, obtendo-
se 0-(1+7) = 0-8.Como o aditivo 0 é menor do que 8, soma-se o valor da base do sistema
(b=8) ao aditivo (0+8=8) e faz-se a subtracção 8-8=0. Gera o transporte C=1 para somar
ao subtractivo da coluna 3.
7 0 2
- 3 7 6
3 0 4
Coluna 3. Soma-se o transporte C=1 da coluna 2, ao subtractivo desta coluna (1+3=4).
Como o aditivo 7 é maior do que 4, calcula-se 7-4=3. Não gera transporte.
Sistemas Digitais
10-04-2016 Octávio Dias Sistemas Digitais/51
3 – Operações aritméticas
Subtracção na base 16
E 3.8 - Determine a subtracção 9F1B16 - 4A3616.
Coluna 1. O aditivo B é maior do que o subtractivo 6, logo, faz-se a diferença 11- 6= 5.
Não gera transporte.
Coluna 2. O aditivo 1 é menor do que o subtractivo 3, então, soma-se o valor da base do
sistema (b=16) ao aditivo 16+1=17, e faz-se a subtracção, 17-3= E. Gera o transporte
C=1 para somar ao subtractivo da coluna 3.
Coluna 3. Soma-se o transporte C=1 da coluna 2, ao subtractivo desta coluna
(1+A=11=B). O aditivo F é maior do que B, tem-se, F-B=15-11=4. Não gera transporte.
9 F 1 B
- 4 A 3 6
5 4 E 5
Coluna 4. O aditivo 9 é maior do que o subtractivo 4, calcula-se 7-4=3. Não gera
transporte.
Sistemas Digitais
10-04-2016 Octávio Dias Sistemas Digitais/52
…….a4 a2 a3 a2 a1 a0 → multiplicando
× .………………...b1 b0 → multiplicador
3 – Operações aritméticas
Algoritmo da multiplicação numa base b
O algoritmo da multiplicação de um número a por um número b em uma qualquer base
de numeração resume-se ao seguinte:
• Os dois números a multiplicar são colocados um sob o outro;
• O número na posição superior é designado por multiplicando;
• O número na posição inferior é designado por multiplicador;
Passo 1 - O símbolo mais à direita (b0) do multiplicador, multiplica cada um dos símbolos
do multiplicando;
Se o produto de cada multiplicação é inferior ao valor da base do sistema de
numeração, regista-se o valor obtido sob o traço abaixo do multiplicador;
Sistemas Digitais
10-04-2016 Octávio Dias Sistemas Digitais/53
3 – Operações aritméticas
Algoritmo da multiplicação numa base b
O procedimento mantém-se até esgotar todos os símbolos do multiplicando.
…….a4 a2 a3 a2 a1 a0 → multiplicando
× .………………..b1 b0 → multiplicador
……c5 c4 c3 c2 c1 c0
Se o produto de cada multiplicação é superior ao valor da base do sistema,
regista-se o símbolo da direita do produto sob o traço abaixo do multiplicador e o
símbolo da esquerda é somado à multiplicação do símbolo seguinte do
multiplicando.
Sistemas Digitais
10-04-2016 Octávio Dias Sistemas Digitais/54
…….a4 a2 a3 a2 a1 a0 → multiplicando
×…...……………..b1 b0 → multiplicador
……c5 c4 c3 c2 c1 c0
……d5 d4 d3 d2 d1 d0
Passo 2 – Passa-se ao símbolo seguinte do multiplicador.
3 – Operações aritméticas
Algoritmo da multiplicação numa base b
Os resultados obtidos são colocados sob os anteriores, mas deslocados de uma
posição para a esquerda.
Passo 3 – Repete-se o procedimento até esgotar todos os algarismos do multiplicador. O
resultado final é obtido somando as parcelas, obtidas pela multiplicação de cada um dos
símbolos do multiplicador por cada um dos símbolos do multiplicando.
……a4 a2 a3 a2 a1 a0 → multiplicando
× .……………..b1 b0 → multiplicador
……c5 c4 c3 c2 c1 c0 → parcela da multiplicação por b0
……d5 d4 d3 d2 d1 d0 → parcela da multiplicação por b1
……e5 e4 e3 e2 e1 e0 →resultado
Sistemas Digitais
10-04-2016 Octávio Dias Sistemas Digitais/55
×××× 0 1 2 3 4 5 6 7 8 9
0 0 0 0 0 0 0 0 0 0 0
1 0 1 2 3 4 5 6 7 8 9
2 0 2 4 6 8 10 12 14 16 18
3 0 3 6 9 12 15 18 21 24 27
4 0 4 8 12 16 20 24 28 32 36
5 0 5 10 15 20 25 30 35 40 45
6 0 6 12 18 24 30 36 42 48 54
7 0 7 14 21 28 35 42 49 56 63
8 0 8 16 24 32 40 48 56 64 72
9 0 9 18 27 36 45 54 63 72 81
3 – Operações aritméticas
Multiplicação na base 10
Tabela de multiplicação no sistema decimal
Para realizar multiplicações na base dez, é necessário recorrer a esta tabela. Porém
como a base dez é o nosso sistema natural, fazemos esta operação de forma
automática.
Sistemas Digitais
10-04-2016 Octávio Dias Sistemas Digitais/56
3 – Operações aritméticas
Multiplicação na base 10
E 3.9 - Determine o produto 15710 × 2310.
Algarismo 3 do multiplicador
Algarismo 2 do multiplicador
3×7=21 → 1 para a parcela e C=2;
3×5+2=17 → 7 para a parcela e C=1;
3×1+2=5 → 5 para a parcela e C=0;
2×7=14 → 4 para a parcela e C=1;
2×5+1=11 → 1 para a parcela e C=1;
2×1+1=3 → 3 para a parcela e C=0;
Em seguida procede-se à soma das parcelas.
Sistemas Digitais
10-04-2016 Octávio Dias Sistemas Digitais/57
3 – Operações aritméticas
Multiplicação na base 2
Tabela de multiplicação no sistema binário
×××× 0 1
0 0 1
1 0 1
Realça-se que na base dois o produto não gera transporte, uma vez que o valor dos
produtos parciais são sempre inferiores a b=2.
Para realizar multiplicações na base dois, é necessário recorrer a esta tabela. Porém
pela sua simplicidade, realizamos esta operação de forma automática.
Sistemas Digitais
10-04-2016 Octávio Dias Sistemas Digitais/58
3 – Operações aritméticas
Multiplicação na base 2
E 3.10 - Determine o produto 11012 × 1012.
Algarismo 1 do multiplicador (LSB)
1×(1 0 1 1) =1 1 0 1;
1 1 0 1
×××× 1 0 1
1 1 0 1
0 0 0 0
1 1 0 1
1 0 0 0 0 0 1
0×(1 0 1 1) =0 0 0 0;
Algarismo 0 do multiplicador
Algarismo 1 do multiplicador (MSB)
1×(1 0 1 1) =1 1 0 1;
Em seguida procede-se à soma das parcelas.
Sistemas Digitais
10-04-2016 Octávio Dias Sistemas Digitais/59
3 – Operações aritméticas
Multiplicação na base 8
Tabela de multiplicação no sistema octal
×××× 0 1 2 3 4 5 6 7
0 0 0 0 0 0 0 0 0
1 0 1 2 3 4 5 6 7
2 0 2 4 6 10 12 14 16
3 0 3 6 11 14 17 22 25
4 0 4 10 14 20 24 30 34
5 0 5 12 17 24 31 36 43
6 0 6 14 22 30 36 44 52
7 0 7 16 25 34 43 52 61
Para multiplicar na base oito, é necessário recorrer a esta tabela, a qual é construída
fazendo o produto na base dez, que em seguida é convertido para a base oito.
Sistemas Digitais
10-04-2016 Octávio Dias Sistemas Digitais/60
3 – Operações aritméticas
Multiplicação na base 8
E 3.11 - Determine o produto 5378 × 248.
5 3 7
×××× 2 4
2 5 7 4
1 2 7 6
1 5 5 5 4
Em seguida procede-se à soma das parcelas.
4×7=34 → 4 para a parcela e C=3;
4×3=14 → 14+3=17 → 7 para a parcela e C=1;
4×5=24 → 24+1=25 → 5 para a parcela e C=2;
2×7=16 → 6 para a parcela e C=1;
2×3=6 → 6+1=7 → 7 para a parcela e C=0;
2×5=12 → 12+0=12 → 2 para a parcela e C=1;
Algarismo 4 do multiplicador (LSB)
Algarismo 2 do multiplicador
Sistemas Digitais
10-04-2016 Octávio Dias Sistemas Digitais/61
3 – Operações aritméticas
Multiplicação na base 16
Tabela de multiplicação no sistema hexadecimal
Para multiplicar na base 16, é necessário recorrer a esta tabela, a qual é construída
fazendo o produto na base 10, que em seguida é convertido para a base 16.
Sistemas Digitais
10-04-2016 Octávio Dias Sistemas Digitais/62
3 – Operações aritméticas
Multiplicação na base 16
E 3.12 - Determine o produto C2A16 × 1D16
C 2 A
×××× 1 D
9 E 2 2
C 2 A
1 6 0 C 2
Em seguida procede-se à soma das parcelas.
D×A=82 → 2 para a parcela e T=8;
D×2=1A → 1A+8=22 → 2 para a parcela e T=2;
D×C=9C → 9C+2=9E → E para a parcela e T=9;
1×A=A → A para a parcela e T=0;
1×2=2 → 2+0=2 → 2 para a parcela e T=0;
1×C=C → C+0=C → C para a parcela e T=0;
Símbolo D do multiplicador (LSB)
Símbolo 1 do multiplicador
Sistemas Digitais
5 1 7 2 1
- 4 2 2 4
0 9 7
8 4
1 3
10-04-2016 Octávio Dias Sistemas Digitais/63
O algoritmo da divisão em uma qualquer base b é muito semelhante à divisão decimal.
Recordemos a divisão decimal através de um exemplo.
3 – Operações aritméticas
Algoritmo da divisão numa base b
Neste exemplo divide-se 517 (dividendo) por 21 (divisor), ambos em decimal, obtendo-se
como resultado a divisão inteira, 24 (quociente), e como resto o valor 13.
• O algoritmo da divisão consiste em seleccionar uma parte do dividendo que seja
superior, mas próxima do valor do divisor.
Sistemas Digitais
10-04-2016 Octávio Dias Sistemas Digitais/64
3 – Operações aritméticas
• Em seguida identifica-se o maior factor multiplicativo, de apenas um dígito, que
multiplicado pelo divisor dê um resultado igual ou inferior à parte seleccionada do
dividendo;
• No passo seguinte, acrescenta-se ao resultado a subtracção, o dígito seguinte do
dividendo;
• Este factor será o digito mais significativo do quociente;
• Repete-se o passo anterior até que, esgotar todos os dígitos do dividendo;
• O produto da multiplicação do factor escolhido pelo divisor, é subtraído à parte do
dividendo seleccionada;
• O resto final da divisão será inferior ao divisor.
Algoritmo da divisão numa base b
Sistemas Digitais
10-04-2016 Octávio Dias Sistemas Digitais/65
3 – Operações aritméticas
Divisão binária
E 3.13 - Efectue a divisão 110012 ÷ 102
Sistemas Digitais
10-04-2016 Octávio Dias Sistemas Digitais/66
4 – Representação de números em módulo e sinal
A representação de números reais tem de ter em conta que os números podem ser
positivos, negativos ou o número zero.
Uma forma adequada e evidente para identificar se um número binário é positivo ou
negativo consiste em reservar um bit para identificar o sinal. Por exemplo, se o bit de
sinal for 0 o número é positivo e ser for 1 o número é negativo.
Num sistema digital, um número é sempre representado com um determinado número de
bits, que constitui o comprimento do número, e corresponde ao número de bits dos
registos onde o número é armazenado e ao número de bits dos circuitos que processam
os números.
Suponhamos, como exemplo, que o comprimento do número é de quatro bits.
Sistemas Digitais
10-04-2016 Octávio Dias Sistemas Digitais/67
Neste contexto, com quatro bits podem ser representados em módulo e sinal, os
números inteiros que se indicam abaixo.
4 – Representação de números em módulo e sinal
Sistemas Digitais
10-04-2016 Octávio Dias Sistemas Digitais/68
Esta forma de representar números inteiros é uma das possíveis. Tem porém, tem alguns
inconvenientes.
Repare-se, por exemplo que o número zero tem duas representações possíveis, o que
pode originar problemas.
Outro inconveniente desta representação reside na realização de operações do tipo
(+5)+(-3) ou (-5)+(+3), uma vez que é necessário identificar qual dos números tem o
maior módulo, para que seja atribuído ao resultado o sinal adequado, o que implica uma
maior complexidade dos circuitos lógicos, que realizam as operações de soma e
subtracção.
Por estas razões estudaremos a seguir uma outra forma de representação de números
em módulo e sinal, que evita os inconvenientes atrás referidos.
4 – Representação de números em módulo e sinal
Sistemas Digitais
10-04-2016 Octávio Dias Sistemas Digitais/69
Notação de complemento para 2
4 – Representação de números em módulo e sinal
Na representação em complemento para 2, os valores positivos têm a mesma
representação do binário natural.
Complemento para 2 Decimal
0 0 0 0 + 0
0 0 0 1 + 1
0 0 1 0 + 2
0 0 1 1 + 3
0 1 0 0 + 4
0 1 0 1 + 5
0 1 1 0 + 6
0 1 1 1 + 7
Por exemplo na representação em complemento para 2, de 4 dígitos, podem representar-
se os valores de +7 a -7. O digito mais à esquerda fica reservado para o sinal (0 para
valores positivos e 1 para valores negativos)
Sistemas Digitais
10-04-2016 Octávio Dias Sistemas Digitais/70
Notação de complemento para 2
4 – Representação de números em módulo e sinal
A representação dos valores negativos, simétricos de um número x na representação em
complemento para 2 de n bits, obtém-se por intermédio da expressão 2n-x.
Por exemplo, o complemento de 0101 é,
Assim, o número 1011 é o complemento para 2 de 0101, ou seja é o simétrico de 0101
na representação de complemento para 2.
Repare-se que, se o número tem n bits, o seu complemento para 2, ou seja o seu
simétrico, é também representado por n bits.
Para interpretar correctamente o valor de um número tem de saber-se a forma como está
representado.
24
Sistemas Digitais
10-04-2016 Octávio Dias Sistemas Digitais/71
Notação de complemento para 2
4 – Representação de números em módulo e sinal
Complemento para 2 Decimal
0 0 0 0 + 0
0 0 0 1 + 1
0 0 1 0 + 2
0 0 1 1 + 3
0 1 0 0 + 4
0 1 0 1 + 5
0 1 1 0 + 6
0 1 1 1 + 7
1 1 1 1 - 1
1 1 1 0 - 2
1 1 0 1 - 3
1 1 0 0 - 4
1 0 1 1 - 5
1 0 1 0 - 6
1 0 0 1 - 7
Sistemas Digitais
10-04-2016 Octávio Dias Sistemas Digitais/72
Notação de complemento para 2
4 – Representação de números em módulo e sinal
Uma forma mais expedita de obter o complemento para 2 de um número consiste em
negar todos os bits do número e somar-lhe 1.
Como exemplo, determine-se o simétrico do número 0100 0010
1
0 1 0 0 0 0 1 0
0111101
+ 1
01111101
Naturalmente que a soma de um número com o seu simétrico tem zero como resultado.
0 1 0 0 0 0 1 0
1 0 1 1 1 1 1 0+
000000001
Sistemas Digitais
10-04-2016 Octávio Dias Sistemas Digitais/73
0 1 0 1 1 1 0 1
0 1 0 1 0 1 1 1
transporte
1º operando
2º operando
soma
1 0 1 11 1 1
1 0 1 01 0 1 0
+
Soma de dois números representados na notação de complemento para 2, quando o
valor do resultado excede (overflow) a gama de representação possível para o número
de bits utilizados.
…resultado negativo !!!
transporte afecta o bit de sinal
Notação de complemento para 2
4 – Representação de números em módulo e sinal
Sistemas Digitais
10-04-2016 Octávio Dias Sistemas Digitais/74
5 – Códigos
Como sabemos, para representar informação binária apenas se utilizam os símbolos
(bits) 0 e 1.
A informação binária não se restringe à representação de números. De facto, podem
também representar letras e outros símbolos.
Podem assim, identificar-se duas grandes classes de códigos, os numéricos e os
alfabéticos, ou ainda a combinação de ambos que formam os códigos alfanuméricos.
No âmbito desta disciplina estudaremos os códigos numéricos, em particular o Código
Binário Natural (CBN), o Código Decimal Codificado em Binário (BCD - Binary Coded
Decimal) e o Código de Gray.. Estes códigos dizem-se regulares, uma vez que cada
sequência tem o mesmo número de dígitos.
Estas representações designam-se por códigos que consistem numa sequência de
conjuntos de bits que representam números e outos dados.
Sistemas Digitais
10-04-2016 Octávio Dias Sistemas Digitais/75
5 – Códigos
No código CBN é um código regular uma vez que é formado por palavras de
comprimento fixo.
Código Binário Natural (CBN)
Neste código o número máximo de palavras de comprimento n corresponde a 2n
palavras. Por exemplo, o CBN com palavras de comprimento cinco possui 32 palavras,
com equivalentes decimais que vão de 010 a 3110.
Sistemas Digitais
10-04-2016 Octávio Dias Sistemas Digitais/76
5 – Códigos
Código Binário Natural (CBN)
E 5.1 – Codifique em CBN de cinco bits, o número 3010
30 2
10 15 2
0 1 7 2
1 3 2
1 1 2
1 0
A codificação em CBN corresponde à conversão da base dez para a base dois.
Assim, 30 na base dez corresponde a 11110 em CBN.
Sistemas Digitais
10-04-2016 Octávio Dias Sistemas Digitais/77
5 – Códigos
O código BCD (Binary Coded Decimal) que em português Decimal Codificado em Binário,
é usado fundamentalmente usado em sistemas de processamento numérico que utilizam
o sistema decimal para entrada/saída de dados.
Código Binary Coded Decimal (BCD)
Sistemas Digitais
10-04-2016 Octávio Dias Sistemas Digitais/78
5 – Códigos
Código Binary Coded Decimal (BCD)
No código BCD cada um dos dígitos que formam o número decimal são convertidos
separadamente para a representação binária correspondente. Como o valor máximo de
um dígito decimal é nove, utilizam-se quatro dígitos binários para codificar cada um dos
algarismos decimais do número decimal a codificar em BCD.
Dado que, com 4 bits podem obter-se 24=16 combinações diferentes, e para o código
BCD são apenas necessárias 10 combinações, existem 6 combinações possíveis, que
são proibidas no código BCD.
Deste modo, se uma das combinações proibidas ocorre, o sistema gera uma mensagem
de erro e não considera o código recebido/gerado.
Sistemas Digitais
10-04-2016 Octávio Dias Sistemas Digitais/79
E 5.2 – Codifique em BCD o número 782310
Portanto, 7823 em decimal corresponde a 0111100000100011BCD.
7 → 0111
8 → 1000
2 → 0010
3 → 0011
5 – Códigos
Código Binary Coded Decimal (BCD)
Sistemas Digitais
10-04-2016 Octávio Dias Sistemas Digitais/80
5 – Códigos
Código Binary Coded Decimal (BCD)
E 5.3 – Converta para decimal o valor 000110010111 codificado em BCD.
Identificam-se os seguintes grupos de dígitos binários,
000110010111 → 0001 1001 0111
Logo,
0001 → 1
1001 → 9
0111 → 7
Portanto, o valor 000110010111BCD corresponde ao valor decimal 19710.
Sistemas Digitais
10-04-2016 Octávio Dias Sistemas Digitais/81
5 – Códigos
Código Binary Coded Decimal (BCD)
E 5.4 – Converta para decimal o valor 0110100010111001BCD.
0110100010111001 → 0110 1000 1011 1001
Identificam-se os seguintes grupos de dígitos binários,
0110 → 6
1000 → 8
1011 → 11 ERRO
1001 → 9
O código está errado uma vez que uma das sequências está a codificar um valor superior
a 9. O sistema gera uma mensagem de erro e recusa o código.
Sistemas Digitais
10-04-2016 Octávio Dias Sistemas Digitais/82
5 – Códigos
Código de Gray
O código de Gray proporciona uma forma fácil de detecção de erros, uma vez que, entre
dois valores consecutivos apenas se verifica a alteração de um dígito.
Por exemplo para uma codificação de três bits tem-se,
Valor Decimal Código de Gray
0 000
1 001
2 011
3 010
4 110
5 111
6 101
7 100
Sistemas Digitais
10-04-2016 Octávio Dias Sistemas Digitais/83
5 – Códigos
Código de Gray
Para codificar um número decimal em Código de Gray, converte-se o valor para a base
dois e em seguida procede-se do seguinte modo:
• O primeiro dígito do código de Gray é igual ao primeiro dígito do valor na base dois;
• O segundo dígito do código de Gray é igual à soma do primeiro dígito com o segundo
dígito do código binário;
• O terceiro dígito do código de Gray é igual à soma do segundo dígito com o terceiro
dígito do código binário;
• O quarto dígito do código de Gray é igual à soma do terceiro dígito com o quarto
dígito do código binário;
• O enésimo do código de Gray é igual à soma do dígitos n-1+n do código binário.
Sistemas Digitais
10-04-2016 Octávio Dias Sistemas Digitais/84
5 – Códigos
Código de Gray
E 5.4 – Codifique no código de Gray o valor 1110.
O número 1110 é representado na base dois por 10112.
Em seguida aplica-se o algoritmo de conversão descrito no slide anterior.
Dígito n binário Dígito n de Gray Ordem dos dígitos
1 1 1º
1+0 1 2º
0+1 1 3º
1+1 0 4º
Deste modo 1110 em código de Gray é representado por 1110.