Escolar Documentos
Profissional Documentos
Cultura Documentos
Marcos H. Maruo
marcos.maruo@ufsm.br
2017
Marcos H. Maruo (UFSM) ELC 1112 – Circuitos Digitais II 2017 1 / 50
Roteiro I
1 Introdução
2 Adição binária
7 Divisão binária
8 Adição BCD
9 Aritmética hexadecimal
Marcos H. Maruo (UFSM) ELC 1112 – Circuitos Digitais II 2017 2 / 50
Objetivos
Circuitos combinacionais;
Lógica booleana;
1
Curioso por que exatamente binário? Dê uma olhada em Shannon, C.E. (1948), “A
Mathematical Theory of Communication”, Bell System Technical Journal, 27, pp.
379–423 & 623–656, July & October, 1948.
Marcos H. Maruo (UFSM) ELC 1112 – Circuitos Digitais II 2017 5 / 50
Adição binária I
3 7 6d
+ 4 6 1d
8 3 7d
(a + b) + c = a + b + c
S = S1 ⊕ cin
= (A ⊕ B) ⊕ cin
= A ⊕ B ⊕ cin
cout = cout1 ⊕ cout2
= (A · B) ⊕ (S1 · cin )
= (A · B) ⊕ (cin (·A ⊕ B))
Sistema sinal-magnitude
Nesse sistema, o bit mais significativo indica o sinal (fase) do número e o
restante dos bits indica a magnitude do número. Para uma representação
binária de um número A com N bits, seu valor no sistema sinal-magnitude
é
N−2
X
A = (−1)AN−1 Ai 2i
i=0
ln(sign(A))
ou seja sign(A) = (−1)AN−1 , portanto AN−1 = jπ e
N−2
X
|A| = Ai · 2i .
i=0
A = (−1) · 38 = −38d
Sistema de complemento de 1
Nesse sistema, o bit mais significativo indica o sinal (fase) do número e o
restante dos bits indica a magnitude do número. Para uma representação
binária de um número A com N bits, seu valor no sistema sinal-magnitude
é
N−2
X
Ai · 2i ,
AN−1 = 0
A= i=0
N−2
X
− (1 − Ai ) · 2i , AN−1 = 1
i=0
Portanto,
Sistema de complemento de 2
O sistema de complemento de 2 é o padrão na maioria dos processadores
modernos. Isso ocorre devido a possibilidade de efetuar subtrações
utilizando os mesmos circuitos que realizam uma soma. A representação
de números no sistema de complemento de dois é realizada por meio de
Se um número A representado com N bits é maior ou igual a zero,
seu MSB é zero (AN−1 = 0) e o restante de seus bits representa a
magnitude codificada diretamente por
N−2
X
|A| = Ak · 2k
k=0
6 7
A0 = mod 2 = 0 B0 = mod 2 = 1
1 1
6 7
A1 = mod 2 = 1 B1 = mod 2 = 1
2 2
6 7
A2 = mod 2 = 1 B2 = mod 2 = 1
4 4
6 7
A3 = mod 2 = 0 B3 = mod 2 = 0
8 8
Em seguida, realiza-se a soma binária
+1 +1
0 0 1 1 0
+ 0 0 1 1 1
0 1 1 0 1
em que os bits de sinal estão destacados no retângulo à esquerda.
A − B = A + (−B)
1 0 0 0 1 0 0 0
+ 1 1 1 1 0 1 1 0
0 1 1 1 1 1 1 0
em que o carry-out dos bits de sinal foi desprezado. Esse resultado
corresponde ao número 126d.
A, B ≤ max(A, B) < A + B.
C , D > C + D.
1 0 0 0
1 0 1 0 ovr = (F + G )
1 1 0 1 ovr = E · F · G
(E + G )
1 1 1 0 +E · F · G
(E + F )
Exemplo 2
Divisão de 10d = 1010b por 4d = 100b
0 0 1 0
1 0 0 ) 1 0 1 0
1 0 0
0 0 1 0
resulta em um quociente 0010b = 2d e um resto 0010b = 2d.
−6 = (−1).4 − 2
= (−2).4 + 2
Exemplo
Realize a soma de 35d + 42d e converta o resultado para o formato BCD.
Inicialmente, os números são representados no formato BCD
Exemplo 2
Realize a soma de 75d + 98d e converta o resultado para o formato BCD.
Inicialmente, os números são representados no formato BCD
Exemplo 2
Adicionando 6d ao terceiro dı́gito para realizar a correção
+1 +1
1 0 0 0 0 1 1 0 1
+ 0 0 0 0 0 0 1 1 0
1 0 0 0 1 0 0 1 1
A propagação do carry out incrementou o dı́gito das dezenas mas ele
permaneceu menor que 9 portanto não são necessárias mais correções. O
resultado da soma é 113d
Adição
A adição de números na representação hexadecimal é semelhante ã adição
de números na representação decimal exceto que os carry outs são
passados somente quando a soma de um dı́gito excede 15. O livro texto
propõe o seguinte procedimento:
Some os dı́gitos hexadecimais convertidos mentalmente para sua
representação decimal, i.e. A = 10, etc
Se a soma for menor que 16, representar a soma diretamente por
meio de um dı́gito hexadecimal;
do contrário, subtraia 16 do resultado, converta para hexadecimal e
propague um carry out para o dı́gito imediatamente mais significativo.
Subtração
Lembrando que um número na representação hexadecimal é simplesmente
uma forma compacta da representação binária, é possı́vel realizar a
conversão do subtraendo para binário, determinar seu complemento de 2,
converter o complemento de 2 para hexadecimal e realizar a soma do
minuendo com o complemento de 2 do subtraendo.
Complemento de 2
Alternativamente, o livro-texto propõe um algoritmo rápido de conversão
da representação hexadecimal para seu complemento de 2. Basta
determinar, dı́gito a dı́gito, qual é o valor de F − Zk . Em seguida, some
um ao resultado.
Considere que deseja-se converter o número 752h para seu complemento
de 2.
Z3 = F − 7 = 8
Z2 = F − 5 = A
Z1 = F − 2 = D