Sei sulla pagina 1di 133

UNIVERSIDADE FEDERAL DE SÃO JOÃO DEL REI

Circuitos Lógicos
Capítulo 9 – Aritmérica Digital: Operações e Circuitos

Prof. Erivelton Geraldo Nepomuceno


http://www.ufsj.edu.br/nepomuceno
nepomuceno@ufsj.edu.br

São João del-Rei, outubro de 2015.


UNIVERSIDADE FEDERAL DE SÃO JOÃO DEL REI

Tópicos da aula – capítulo 9

9.1Adição binária
9.2Representação de números com sinal
9.3Adição no sistema de complemento de 2
9.4Subtração no sistema de complemento de 2
9.5Multiplicação de números binários
9.6Divisão binária

2/133
Circuitos Lógicos: Capítulo 9

9.1 Adição Binária

• Operação mais importante no mundo binário!

3 7 6
+ 4 6 1
8 3 7

3/133
Circuitos Lógicos: Capítulo 9

9.1 Adição Binária

• Operação mais importante no mundo binário!


“Vai um” ou “carry”

+1 +1
3 7 6 3 7 6
+ 4 6 1 + 4 6 4
8 3 7 8 4 0

4/133
Circuitos Lógicos: Capítulo 9

9.1 Adição Binária

• Operação mais importante no mundo binário!

+1 +1 +1 +1
3 7 6, 3 4
+ 4 6 6, 7 8
8 4 3, 1 2

5/133
Circuitos Lógicos: Capítulo 9

9.1 Adição Binária

• Operação mais importante no mundo binário!

• Quais as regras para números binários?

0+0=0
1+0=1
0+1=1
1 + 1 = 0 → “vai um para próxima posição” (carry)

6/133
Circuitos Lógicos: Capítulo 9

9.1 Adição Binária

• Operação mais importante no mundo binário!

0 1 1, 0 1
+ 1 1 0, 1 1

7/133
Circuitos Lógicos: Capítulo 9

9.1 Adição Binária

• Operação mais importante no mundo binário!

+1
0 1 1, 0 1
+ 1 1 0, 1 1
0

8/133
Circuitos Lógicos: Capítulo 9

9.1 Adição Binária

• Operação mais importante no mundo binário!

+1 +1
0 1 1, 0 1
+ 1 1 0, 1 1
0 0

9/133
Circuitos Lógicos: Capítulo 9

9.1 Adição Binária

• Operação mais importante no mundo binário!

+1 +1 +1
0 1 1, 0 1
+ 1 1 0, 1 1
0, 0 0

10/133
Circuitos Lógicos: Capítulo 9

9.1 Adição Binária

• Operação mais importante no mundo binário!

+1 +1 +1 +1
0 1 1, 0 1
+ 1 1 0, 1 1
1 0, 0 0

11/133
Circuitos Lógicos: Capítulo 9

9.1 Adição Binária

• Operação mais importante no mundo binário!

+1 +1 +1 +1
0 1 1, 0 1
+ 1 1 0, 1 1
1 0 1 0, 0 0

12/133
Circuitos Lógicos: Capítulo 9

9.1 Adição Binária

• Operação mais importante no mundo binário!

+1 +1 +1 +1
0 1 1, 0 1
+ 1 1 0, 1 1
1 0 1 0, 0 0 E

13/133
Circuitos Lógicos: Capítulo 9

9.2 Representação de números binários com


sinal

• Como representar números binários negativos?

14/133
Circuitos Lógicos: Capítulo 9

9.2 Representação de números binários com


sinal

• Como representar números binários negativos?

15/133
Circuitos Lógicos: Capítulo 9

9.2 Representação de números binários com


sinal

• Como representar números binários negativos?


– Sistema sinal-magnitude
– Sistema de complemento de 2

16/133
Circuitos Lógicos: Capítulo 9

9.2 Representação de números binários com


sinal

• Forma de complemento de 1

Número original 0 1 1 0 1
Inverte-se cada bit

Forma de complemento de 1 1 0 0 1 0

17/133
Circuitos Lógicos: Capítulo 9

9.2 Representação de números binários com


sinal

• Forma de complemento de 2
Número original 0 1 1 0 1
Inverte-se cada bit
Forma de complemento de 1 1 0 0 1 0
Soma-se 1 ao LSB 1

Forma de complemento de 2 1 0 0 1 1
18/133
Circuitos Lógicos: Capítulo 9

9.2 Representação de números binários com


sinal
Exemplo: Determine o complemento de 2 de 100012
• Forma de complemento de 2

19/133
Circuitos Lógicos: Capítulo 9

9.2 Representação de números binários com


sinal
Exemplo: Determine o complemento de 2 de 100012
• Forma de complemento de 2
Número original 1 0 0 0 1
Inverte-se cada bit

20/133
Circuitos Lógicos: Capítulo 9

9.2 Representação de números binários com


sinal
Exemplo: Determine o complemento de 2 de 100012
• Forma de complemento de 2
Número original 1 0 0 0 1
Inverte-se cada bit
Forma de complemento de 1 0 1 1 1 0

21/133
Circuitos Lógicos: Capítulo 9

9.2 Representação de números binários com


sinal
Exemplo: Determine o complemento de 2 de 100012
• Forma de complemento de 2
Número original 1 0 0 0 1
Inverte-se cada bit
Forma de complemento de 1 0 1 1 1 0
Soma-se 1 ao LSB 1

22/133
Circuitos Lógicos: Capítulo 9

9.2 Representação de números binários com


sinal
Exemplo: Determine o complemento de 2 de 100012
• Forma de complemento de 2
Número original 1 0 0 0 1
Inverte-se cada bit
Forma de complemento de 1 0 1 1 1 0
Soma-se 1 ao LSB 1

Forma de complemento de 2 0 1 1 1 1
23/133
Circuitos Lógicos: Capítulo 9

9.2 Representação de números binários com


sinal
• Como representar números binários negativos
utilizando a forma de complemento de 2?

24/133
Circuitos Lógicos: Capítulo 9

9.2 Representação de números binários com


sinal
• Como representar números binários negativos
utilizando a forma de complemento de 2?

25/133
Circuitos Lógicos: Capítulo 9

9.2 Representação de números binários com


sinal
Exemplo: Represente o número -14510 em binário
utilizando o formato complemento de 2.

26/133
Circuitos Lógicos: Capítulo 9

9.2 Representação de números binários com


sinal
Exemplo: Represente o número -14510 em binário
utilizando o formato complemento de 2.
Resolução:
1. Por divisões sucessivas determinamos o número
binário que representa 14510;
2. Achamos o complemento de 2 desse número;
3. Anexamos o bit 1 à esquerda do MSB.

27/133
Circuitos Lógicos: Capítulo 9

9.2 Representação de números binários com


sinal
145 em binário 1 0 0 1 0 0 0 1

Forma de complemento de 1 0 1 1 0 1 1 1 0

Forma de complemento de 2 0 1 1 0 1 1 1 1

Anexar o bit de sinal à esqueda


do MSB
1 0 1 1 0 1 1 1 1

28/133
Circuitos Lógicos: Capítulo 9

9.2 REPRESENTAÇÃO DE NÚMEROS BINÁRIOS COM


SINAL
Observações:
– Faixa de valores representados utilizando
complemento de 2 com N bits para a magnitude:

29/133
Circuitos Lógicos: Capítulo 9

9.2 REPRESENTAÇÃO DE NÚMEROS BINÁRIOS COM


SINAL

30/133
Circuitos Lógicos: Capítulo 9

9.2 REPRESENTAÇÃO DE NÚMEROS BINÁRIOS COM


SINAL
Exercício:
– Qual a faixa de valores que podem ser representados
com um byte?

– Qual o menor valor a o maior valor que pode ser


representado com um byte num sistema de
complemento de 2? (o bit de sinal deve ser
considerado)

31/133
Circuitos Lógicos: Capítulo 9

9.2 REPRESENTAÇÃO DE NÚMEROS BINÁRIOS COM


SINAL
Exercício:
– Qual a faixa de valores que podem ser representados
com um byte?

– Qual o menor valor a o maior valor que pode ser


representado com um byte num sistema de
complemento de 2? (o bit de sinal deve ser
considerado)

32/133
Circuitos Lógicos: Capítulo 9

9.3 ADIÇÃO NO SISTEMA DE COMPLEMENTO DE 2

Observação: A representação dos números


deve ser feita com a mesma quantidade de
bits de magnitude!

33/133
Circuitos Lógicos: Capítulo 9

9.3 ADIÇÃO NO SISTEMA DE COMPLEMENTO DE 2

Caso I: Dois números positivos

0 0 1 0 0 +410
0 1 0 1 1 +1110
0 1 1 1 1 +1510

34/133
Circuitos Lógicos: Capítulo 9

9.3 ADIÇÃO NO SISTEMA DE COMPLEMENTO DE 2

Caso II: Numero a2 positivo e número b2


negativo, sendo |a|>|b|.

0 1 1 0 0 +1210
1 0 1 0 1 -1110 (Complemento de 2)
1 0 0 0 0 1 +0110

“Vai um” ou “Carry” desconsiderado

35/133
Circuitos Lógicos: Capítulo 9

9.3 ADIÇÃO NO SISTEMA DE COMPLEMENTO DE 2

Caso II: Numero a2 positivo e número b2


negativo, sendo |a|>|b|.

0 1 1 0 0 +1210
1 0 1 0 1 -1110 (Complemento de 2)
1 0 0 0 0 1 +0110

“Vai um” ou “Carry” desconsiderado

36/133
Circuitos Lógicos: Capítulo 9

9.3 ADIÇÃO NO SISTEMA DE COMPLEMENTO DE 2

Caso III: Numero a2 positivo e número b2


negativo, sendo |a|<|b|.

0 1 0 0 1 +910
1 0 1 0 1 -1110 (Complemento de 2)
1 1 1 1 0 -0210

37/133
Circuitos Lógicos: Capítulo 9

9.3 ADIÇÃO NO SISTEMA DE COMPLEMENTO DE 2

Caso III: Numero a2 positivo e número b2


negativo, sendo |a|<|b|.

0 1 0 0 1 +910
1 0 1 0 1 -1110 (Complemento de 2)
1 1 1 1 0 -0210

38/133
Circuitos Lógicos: Capítulo 9

9.3 ADIÇÃO NO SISTEMA DE COMPLEMENTO DE 2

Caso IV: Dois números negativos.

1 1 0 0 1 -710 (Complemento de 2)
1 1 0 1 1 -510 (Complemento de 2)
1 1 0 1 0 0 -1210

39/133
Circuitos Lógicos: Capítulo 9

9.3 ADIÇÃO NO SISTEMA DE COMPLEMENTO DE 2

Caso IV: Dois números negativos.

1 1 0 0 1 -710 (Complemento de 2)
1 1 0 1 1 -510 (Complemento de 2)
1 1 0 1 0 0 -1210 Resultado (Comp. De 2)

“Vai um” ou “Carry” desconsiderado

40/133
Circuitos Lógicos: Capítulo 9

9.3 ADIÇÃO NO SISTEMA DE COMPLEMENTO DE 2

Exemplo: Faça a operação: +5 + (-5) em binário


utilizando complemento de 2. Suponha que
você disponibilize de 6 bits, incluído o bit
de sinal.

41/133
Circuitos Lógicos: Capítulo 9

9.3 ADIÇÃO NO SISTEMA DE COMPLEMENTO DE 2

Exemplo: Faça a operação: +5 + (-5).

0 0 0 1 0 1 +510
1 1 1 0 1 1 -510 (Complemento de 2)
1 0 0 0 0 0 0 +010

42/133
Circuitos Lógicos: Capítulo 9

9.3 ADIÇÃO NO SISTEMA DE COMPLEMENTO DE 2

Exemplo: Faça a operação: +5 + (-5).

0 0 0 1 0 1 +510
1 1 1 0 1 1 -510 (Complemento de 2)
1 0 0 0 0 0 0 +010

“Vai um” ou “Carry” desconsiderado

43/133
Circuitos Lógicos: Capítulo 9

9.4 SUBTRAÇÃO NO SISTEMA DE COMPLEMENTO


DE 2

É similar, senão idêntica aos procedimentos


anteriores!

– Passo I: Negação do valor do subtraendo


– Passo II: Somar esse número ao minuendo

44/133
Circuitos Lógicos: Capítulo 9

9.4 SUBTRAÇÃO NO SISTEMA DE COMPLEMENTO


DE 2
Exemplo: Execute a operação +1310 – (+510),
considerando-se que existem 6 bits
disponíveis (incluindo-se o bit de sinal).

45/133
Circuitos Lógicos: Capítulo 9

9.4 SUBTRAÇÃO NO SISTEMA DE COMPLEMENTO


DE 2
Exemplo: Execute a operação +1310 – (+510),
considerando-se que existem 6 bits
disponíveis (incluindo-se o bit de sinal).

0 0 1 1 0 1 +1310
1 1 1 0 1 1 -510 (Complemento de 2)
1 0 0 1 0 0 0 +810

46/133
Circuitos Lógicos: Capítulo 9

9.4 SUBTRAÇÃO NO SISTEMA DE COMPLEMENTO


DE 2
Exemplo: Execute a operação +1310 – (+510),
considerando-se que existem 6 bits
disponíveis (incluindo-se o bit de sinal).

0 0 1 1 0 1 +1310
1 1 1 0 1 1 -510 (Complemento de 2)
1 0 0 1 0 0 0 +810

“Vai um” ou “Carry” desconsiderado

47/133
Circuitos Lógicos: Capítulo 9

9.4 SUBTRAÇÃO NO SISTEMA DE COMPLEMENTO


DE 2
Exercício: Execute a operação +1010 – (+1110),
considerando-se que existem 6 bits
disponíveis (incluindo-se o bit de sinal).

48/133
Circuitos Lógicos: Capítulo 9

9.4 SUBTRAÇÃO NO SISTEMA DE COMPLEMENTO


DE 2
O problema do “Overflow”

Sistemas digitais possuem uma quantidade finita de


bits para representação de grandezas!

No caso da aritmética, os resultados das operações


tem que estar dentro da quantidade de bits
utilizada para tal representação. Caso contrário
ocorrerá um “overflow”.
49/133
Circuitos Lógicos: Capítulo 9

9.4 SUBTRAÇÃO NO SISTEMA DE COMPLEMENTO


DE 2
O problema do “Overflow”

Exemplo: Considerando a disponibilidade de 8


bits (inclusive o de sinal) realize a operação
binária em complemento de 2:

6310+7010

50/133
Circuitos Lógicos: Capítulo 9

9.4 SUBTRAÇÃO NO SISTEMA DE COMPLEMENTO DE 2


O problema do “Overflow”
Exemplo: Considerando a disponibilidade de 8
bits (inclusive o de sinal) realize a operação
binária em complemento de 2:
6310+7010

0 0 1 1 1 1 1 1 +63
0 1 0 0 0 1 1 0 +70
1 0 0 0 0 1 0 1

51/133
Circuitos Lógicos: Capítulo 9

9.4 SUBTRAÇÃO NO SISTEMA DE COMPLEMENTO DE 2


O problema do “Overflow”
Exemplo: Considerando a disponibilidade de 8
bits (inclusive o de sinal) realize a operação
binária em complemento de 2:
6310+7010

0 0 1 1 1 1 1 1 +63
0 1 0 0 0 1 1 0 +70
1 0 0 0 0 1 0 1 -123
Bit de sinal
52/133
Circuitos Lógicos: Capítulo 9

9.5 MULTIPLICAÇÃO DE NÚMEROS BINÁRIOS


Procedimento igual ao sistema decimal.
Considere a multiplicação de 13 x 12

1 2
x 1 3
3 6
1 2
1 5 6

53/133
Circuitos Lógicos: Capítulo 9

9.5 MULTIPLICAÇÃO DE NÚMEROS BINÁRIOS


Procedimento igual ao sistema decimal.
Considere a multiplicação de 13 x 12
1 1 0 0
1 2
x 1 1 0 1
x 1 3
1 1 0 0
3 6
Produtos parciais 0 0 0 0
1 2
1 1 0 0
1 5 6 Resultado final
1 1 0 0
1 0 0 1 1 1 0 0

54/133
Circuitos Lógicos: Capítulo 9

9.5 MULTIPLICAÇÃO DE NÚMEROS BINÁRIOS


Procedimento igual ao sistema decimal.
Considere a multiplicação de 13 x 12
1 1 0 0
1 2
x 1 1 0 1
x 1 3
1 1 0 0
3 6
Produtos parciais 0 0 0 0
1 2 Produtos parciais
1 1 0 0
1 5 6 Resultado final
1 1 0 0
1 0 0 1 1 1 0 0 Resultado final

55/133
Circuitos Lógicos: Capítulo 9

9.5 MULTIPLICAÇÃO DE NÚMEROS BINÁRIOS


Multiplicação no sistema de complemento de
2.

– Converte-se o número negativo para positivo e


aplicam-se regras para determinar o bit de
sinal.

56/133
Circuitos Lógicos: Capítulo 9

9.6 DIVISÃO DE NÚMEROS BINÁRIOS

Considere a divisão: 12÷2


11002÷102
1 1 0 0 1 0

57/133
Circuitos Lógicos: Capítulo 9

9.6 DIVISÃO DE NÚMEROS BINÁRIOS

Considere a divisão: 12÷2


11002÷102
1 1 0 0 1 0

58/133
Circuitos Lógicos: Capítulo 9

9.6 DIVISÃO DE NÚMEROS BINÁRIOS

Considere a divisão: 12÷2


11002÷102
1 1 0 0 1 0
1 0 1
0 1

59/133
Circuitos Lógicos: Capítulo 9

9.6 DIVISÃO DE NÚMEROS BINÁRIOS

Considere a divisão: 12÷2


11002÷102
1 1 0 0 1 0
1 0 1
0 1 0

60/133
Circuitos Lógicos: Capítulo 9

9.6 DIVISÃO DE NÚMEROS BINÁRIOS

Considere a divisão: 12÷2


11002÷102
1 1 0 0 1 0
1 0 1 1
0 1 0
1 0

61/133
Circuitos Lógicos: Capítulo 9

9.6 DIVISÃO DE NÚMEROS BINÁRIOS

Considere a divisão: 12÷2


11002÷102
1 1 0 0 1 0
1 0 1 1
0 1 0
1 0
0 0

62/133
Circuitos Lógicos: Capítulo 9

9.6 DIVISÃO DE NÚMEROS BINÁRIOS

Considere a divisão: 12÷2


11002÷102
1 1 0 0 1 0
1 0 1 1
0 1 0
1 0
0 0 0

63/133
Circuitos Lógicos: Capítulo 9

9.6 DIVISÃO DE NÚMEROS BINÁRIOS

Considere a divisão: 12÷2


11002÷102
1 1 0 0 1 0
1 0 1 1 0
0 1 0
1 0
0 0 0

64/133
Circuitos Lógicos: Capítulo 9

9.6 DIVISÃO DE NÚMEROS BINÁRIOS

Considere a divisão: 14÷3


11102÷112
1 1 1 0 1 1
1 1 1 0 0, 1 0
0 0 1 0 0
1 1
1 0 ...

65/133
Circuitos Lógicos: Capítulo 9

9.6 DIVISÃO DE NÚMEROS BINÁRIOS

Exercício: Realize as divisões em binário.


a) 6410÷510
b) 1210÷310
c) 3210÷810
d) 1610÷410

66/133
Circuitos Lógicos: Capítulo 9

9.6 DIVISÃO DE NÚMEROS BINÁRIOS


Algoritmo para divisão binária. (Deslocamento
e subtrações sucessivas)
1 0 0 0 1 1 1 0 0
1 0 0

67/133
Circuitos Lógicos: Capítulo 9

9.6 DIVISÃO DE NÚMEROS BINÁRIOS


Algoritmo para divisão binária. (Deslocamento
e subtrações sucessivas)
1 0 0 0 1 1 1 0 0
1 0 0

É divisível?
Sim -> subtração + shift
Não -> deslocamento para a direita
68/133
Circuitos Lógicos: Capítulo 9

9.6 DIVISÃO DE NÚMEROS BINÁRIOS


Algoritmo para divisão binária. (Deslocamento
e subtrações sucessivas)
1 0 0 0 1 1 1 0 0
1 0 0 1
0 0 0 0 1 1

É divisível?
Sim -> 1 no quociente subtração + shift
Não -> 0 + shift
69/133
Circuitos Lógicos: Capítulo 9

9.6 DIVISÃO DE NÚMEROS BINÁRIOS


Algoritmo para divisão binária. (Deslocamento
e subtrações sucessivas)
1 0 0 0 1 1 1 0 0
1 0 0 1
0 0 0 0 1 1
1 0 0
É divisível?
Sim -> subtração + shift
Não -> 0 + shift
70/133
Circuitos Lógicos: Capítulo 9

9.6 DIVISÃO DE NÚMEROS BINÁRIOS


Algoritmo para divisão binária. (Deslocamento
e subtrações sucessivas)
1 0 0 0 1 1 1 0 0
1 0 0 1 0
0 0 0 0 1 1
1 0 0

71/133
Circuitos Lógicos: Capítulo 9

9.6 DIVISÃO DE NÚMEROS BINÁRIOS


Algoritmo para divisão binária. (Deslocamento
e subtrações sucessivas)
1 0 0 0 1 1 1 0 0
1 0 0 1 0
0 0 0 0 1 1
1 0 0

72/133
Circuitos Lógicos: Capítulo 9

9.6 DIVISÃO DE NÚMEROS BINÁRIOS


Algoritmo para divisão binária. (Deslocamento
e subtrações sucessivas)
1 0 0 0 1 1 1 0 0
1 0 0 1 0 0
0 0 0 0 1 1
1 0 0

73/133
Circuitos Lógicos: Capítulo 9

9.6 DIVISÃO DE NÚMEROS BINÁRIOS


Algoritmo para divisão binária. (Deslocamento
e subtrações sucessivas)
1 0 0 0 1 1 1 0 0
1 0 0 1 0 0
0 0 0 0 1 1
1 0 0

74/133
Circuitos Lógicos: Capítulo 9

9.6 DIVISÃO DE NÚMEROS BINÁRIOS


Algoritmo para divisão binária. (Deslocamento
e subtrações sucessivas)
1 0 0 0 1 1 1 0 0
1 0 0 1 0 0 0
0 0 0 0 1 1
1 0 0

75/133
Circuitos Lógicos: Capítulo 9

9.6 DIVISÃO DE NÚMEROS BINÁRIOS


Algoritmo para divisão binária. (Deslocamento
e subtrações sucessivas)
1 0 0 0 1 1 1 0 0
1 0 0 1 0 0 0
0 0 0 0 1 1
1 0 0

76/133
Circuitos Lógicos: Capítulo 9

9.6 DIVISÃO DE NÚMEROS BINÁRIOS


Exemplo: Realizar a divisão:
101011÷100

77/133
Circuitos Lógicos: Capítulo 9

9.6 DIVISÃO DE NÚMEROS BINÁRIOS


Exemplo: Realizar a divisão:
101011÷100
1 0 1 0 1 1 1 0 0

78/133
Circuitos Lógicos: Capítulo 9

9.6 DIVISÃO DE NÚMEROS BINÁRIOS


Exemplo: Realizar a divisão:
101011÷100
1 0 1 0 1 1 1 0 0
1 0 0 1
0 0 1 0 1 1

79/133
Circuitos Lógicos: Capítulo 9

9.6 DIVISÃO DE NÚMEROS BINÁRIOS


Exemplo: Realizar a divisão:
101011÷100
1 0 1 0 1 1 1 0 0
1 0 0 1
0 0 1 0 1 1
1 0 0

80/133
Circuitos Lógicos: Capítulo 9

9.6 DIVISÃO DE NÚMEROS BINÁRIOS


Exemplo: Realizar a divisão:
101011÷100
1 0 1 0 1 1 1 0 0
1 0 0 1 0
0 0 1 0 1 1
1 0 0

81/133
Circuitos Lógicos: Capítulo 9

9.6 DIVISÃO DE NÚMEROS BINÁRIOS


Exemplo: Realizar a divisão:
101011÷100
1 0 1 0 1 1 1 0 0
1 0 0 1 0
0 0 1 0 1 1
1 0 0

82/133
Circuitos Lógicos: Capítulo 9

9.6 DIVISÃO DE NÚMEROS BINÁRIOS


Exemplo: Realizar a divisão:
101011÷100
1 0 1 0 1 1 1 0 0
1 0 0 1 0 1
0 0 1 0 1 1
1 0 0
0 0 1 1

83/133
Circuitos Lógicos: Capítulo 9

9.6 DIVISÃO DE NÚMEROS BINÁRIOS


Exemplo: Realizar a divisão:
101011÷100
1 0 1 0 1 1 1 0 0
1 0 0 1 0 1
0 0 1 0 1 1
1 0 0
0 0 1 1
1 0 0
84/133
Circuitos Lógicos: Capítulo 9

9.6 DIVISÃO DE NÚMEROS BINÁRIOS


Exemplo: Realizar a divisão:
101011÷100
1 0 1 0 1 1 1 0 0
1 0 0 1 0 1 0
0 0 1 0 1 1
1 0 0
0 0 1 1
1 0 0
85/133
Circuitos Lógicos: Capítulo 9

9.6 DIVISÃO DE NÚMEROS BINÁRIOS


1 0 1 0 1 1 1 0 0
1 0 0 1 0 1 0
0 0 1 0 1 1
1 0 0
0 0 1 1
1 0 0

86/133
Circuitos Lógicos: Capítulo 9

9.6 DIVISÃO DE NÚMEROS BINÁRIOS


1 0 1 0 1 1 1 0 0
1 0 0 1 0 1 0,
0 0 1 0 1 1
1 0 0
0 0 1 1
1 0 0

87/133
Circuitos Lógicos: Capítulo 9

9.6 DIVISÃO DE NÚMEROS BINÁRIOS


1 0 1 0 1 1 1 0 0
1 0 0 1 0 1 0,
0 0 1 0 1 1
1 0 0
0 0 1 1 0
1 0 0

88/133
Circuitos Lógicos: Capítulo 9

9.6 DIVISÃO DE NÚMEROS BINÁRIOS


1 0 1 0 1 1 1 0 0
1 0 0 1 0 1 0,
0 0 1 0 1 1
1 0 0
0 0 1 1 0
1 0 0

89/133
Circuitos Lógicos: Capítulo 9

9.6 DIVISÃO DE NÚMEROS BINÁRIOS


1 0 1 0 1 1 1 0 0
1 0 0 1 0 1 0, 1
0 0 1 0 1 1
1 0 0
0 0 1 1 0
1 0 0
0 1 0

90/133
Circuitos Lógicos: Capítulo 9

9.6 DIVISÃO DE NÚMEROS BINÁRIOS


1 0 1 0 1 1 1 0 0
1 0 0 1 0 1 0, 1
0 0 1 0 1 1
1 0 0
0 0 1 1 0
1 0 0
0 1 0
1 0 0
91/133
Circuitos Lógicos: Capítulo 9

9.6 DIVISÃO DE NÚMEROS BINÁRIOS


1 0 1 0 1 1 1 0 0
1 0 0 1 0 1 0, 1
0 0 1 0 1 1
1 0 0
0 0 1 1 0
1 0 0
0 1 0 0
1 0 0
92/133
Circuitos Lógicos: Capítulo 9

9.6 DIVISÃO DE NÚMEROS BINÁRIOS


1 0 1 0 1 1 1 0 0
1 0 0 1 0 1 0, 1 1
0 0 1 0 1 1
1 0 0
0 0 1 1 0
1 0 0
0 1 0 0
1 0 0
93/133
Circuitos Lógicos: Capítulo 9

9.6 DIVISÃO DE NÚMEROS BINÁRIOS


1 0 1 0 1 1 1 0 0
1 0 0 1 0 1 0, 1 1
0 0 1 0 1 1
1 0 0
0 0 1 1 0
1 0 0
0 1 0 0
1 0 0
0 0 0 94/133
Circuitos Lógicos: Capítulo 9

9.6 DIVISÃO DE NÚMEROS BINÁRIOS


1 0 1 0 1 1 1 0 0
1 0 0 1 0 1 0, 1 1
0 0 1 0 1 1
1 0 0
0 0 1 1 0
1 0 0
0 1 0 0
1 0 0
0 0 0 95/133
UNIVERSIDADE FEDERAL DE SÃO JOÃO DEL REI

Circuitos Lógicos
Capítulo 9 – Aritmérica Digital: Operações e Circuitos
Parte II

http://www.ppgel.net.br/davidson
davidson@ufsj.edu.br

São João Del Rei, 2 de setembro de 2014


UNIVERSIDADE FEDERAL DE SÃO JOÃO DEL REI

Tópicos da aula – Capítulo 9

9.7Adição BCD
9.8Aritmética Hexadecimal
9.9Circuitos Aritméticos
9.10 Somador Binário Paralelo
9.11 Projeto de Um Somador Completo
9.12 Somador Paralelo Completo Com
Registradores

97/133
Circuitos Lógicos: Capítulo 9

9.7 ADIÇÃO BCD

• Soma menor ou igual a 9

3 7 6 0 0 1 1 0 1 1 1 0 1 1 0
+ 4 2 1 + 0 1 0 0 0 0 1 0 0 0 0 1
7 9 7 0 1 1 1 1 0 0 1 0 1 1 1

98/133
Circuitos Lógicos: Capítulo 9

9.7 ADIÇÃO BCD

• Soma maior do que 9

3 7 6 0 0 1 1 0 1 1 1 0 1 1 0
+ 4 7 4 + 0 1 0 0 0 1 1 1 0 1 0 0
8 5 0 0 1 1 1 1 1 1 0 1 0 1 0

99/133
Circuitos Lógicos: Capítulo 9

9.7 ADIÇÃO BCD

• Soma maior do que 9

3 7 6 0 0 1 1 0 1 1 1 0 1 1 0
+ 4 7 4 + 0 1 0 0 0 1 1 1 0 1 0 0
8 5 0 0 1 1 1 1 1 1 0 1 0 1 0

Inválidos no sistema BCD!

100/133
Circuitos Lógicos: Capítulo 9

9.7 ADIÇÃO BCD

• Soma maior do que 9

3 7 6 0 0 1 1 0 1 1 1 0 1 1 0
+ 4 7 4 + 0 1 0 0 0 1 1 1 0 1 0 0
8 5 0 0 1 1 1 1 1 1 0 1 0 1 0
Adicionar “6” quando a soma for 0 0 0 0 0 1 1 0 0 1 1 0
maior que “9”!
1 0 0 0 0 1 0 1 0 0 0 0

101/133
Circuitos Lógicos: Capítulo 9

9.7 ADIÇÃO BCD

• Procedimento:
– Usando adição binária comum, some os códigos BCD
para cada dígito;
– Se a soma for menor que 9 nenhuma correção é
necessária;
– Se a soma for maior que 9 então some o fator de
correção “0110”

102/133
Circuitos Lógicos: Capítulo 9

9.7 ADIÇÃO BCD

• Exercícios: Realize as operações em BCD.

a) 2410 + 4610
b) 3310 + 810
c) 1810 + 1810
d) 910 + 710

103/133
Circuitos Lógicos: Capítulo 9

9.8 ARITMÉTICA HEXADECIMAL

• O maior dígito é o F!
• Procedimentos
– Somar dois dígitos, se a soma for menor ou igual a 15 o
resultado poderá ser expresso como um único dígito
hexadecimal;
– Se o resultado da soma for maior do que 15, subtraia
16 e transporte um “carry” para o próximo dígito
(MSD)

104/133
Circuitos Lógicos: Capítulo 9

9.8 ARITMÉTICA HEXADECIMAL

• Exemplo

5 816
+ 2 416
7 C

105/133
Circuitos Lógicos: Capítulo 9

9.8 ARITMÉTICA HEXADECIMAL

• Exemplo

0 7 5 A16
+ 0 7 F C16
0 F 5 6

106/133
Circuitos Lógicos: Capítulo 9

9.8 ARITMÉTICA HEXADECIMAL

• Exemplo

0 F 1 F16
+ 0 7 F F16
1 7 1 E

107/133
Circuitos Lógicos: Capítulo 9

9.8 ARITMÉTICA HEXADECIMAL

• Exercícios: Realize as operações em hexadecimal.

a) 0F16 + C416
b) A16 + A16
c) 01FF16 + 010116
d) 7716 + 14616

108/133
Circuitos Lógicos: Capítulo 9

9.8 ARITMÉTICA HEXADECIMAL

• Exercícios: Realize as operações em hexadecimal.

a) 0F16 + C416 = D316


b) A16 + A16 = 1416
c) 01FF16 + 010116 = 30016
d) 7716 + 14616 = 1BD16

109/133
Circuitos Lógicos: Capítulo 9

9.8 ARITMÉTICA HEXADECIMAL

• Subtração Hexadecimal
• Procedimentos
– Calcular o complemento de 2 do subtraendo
– Somar o resultado ao minuendo

110/133
Circuitos Lógicos: Capítulo 9

9.8 ARITMÉTICA HEXADECIMAL

• Complemento de 2 hexadecimal
• Modos de calcular:
– Conversão em binário
– Subtração de F

111/133
Circuitos Lógicos: Capítulo 9

9.8 ARITMÉTICA HEXADECIMAL

• Complemento de 2 hexadecimal
• Subtração de F

112/133
Circuitos Lógicos: Capítulo 9

9.8 ARITMÉTICA HEXADECIMAL

• Complemento de 2 hexadecimal
• Subtração de F

0 7 5 A16
- 0 7 F C16

113/133
Circuitos Lógicos: Capítulo 9

9.8 ARITMÉTICA HEXADECIMAL

• Complemento de 2 hexadecimal
• Subtração de F

0 7 5 A16
- 0 7 F C16 Calcular o complemento de 2!

114/133
Circuitos Lógicos: Capítulo 9

9.8 ARITMÉTICA HEXADECIMAL

• Complemento de 2 hexadecimal
• Subtração de F

F F F F16
- 0 7 F C16
F 8 0 3
+ 1
F 8 0 4 Complemento de 2!

115/133
Circuitos Lógicos: Capítulo 9

9.8 ARITMÉTICA HEXADECIMAL

• Complemento de 2 hexadecimal
• Subtração de F

0 7 5 A16
- 0 7 F C16 Calcular o complemento de 2!

116/133
Circuitos Lógicos: Capítulo 9

9.8 ARITMÉTICA HEXADECIMAL

• Complemento de 2 hexadecimal
• Subtração de F

0 7 5 A16
+ F 8 0 416 Calcular o complemento de 2!
F F 5 E

117/133
Circuitos Lógicos: Capítulo 9

9.8 ARITMÉTICA HEXADECIMAL

• Representação de número com sinal em


hexadecimal
Considere os números binários com sinal:
101011112

011100112

118/133
Circuitos Lógicos: Capítulo 9

9.8 ARITMÉTICA HEXADECIMAL

• Representação de número com sinal em


hexadecimal
Considere os números binários com sinal:
101011112 = AF16

011100112 = 7316

119/133
Circuitos Lógicos: Capítulo 9

9.8 ARITMÉTICA HEXADECIMAL

• Representação de número com sinal em


hexadecimal
Considere os números binários com sinal:
101011112 = AF16

011100112 = 7316

Quando o MSD for maior que 7 o número hexadecimal será


negativo!
Quando o MSD for menor ou igual a 7 o número hexadecimal
será positivo!
120/133
Circuitos Lógicos: Capítulo 9

9.9 CIRCUITOS ARITMÉTICOS

121/133
Circuitos Lógicos: Capítulo 9

9.9 CIRCUITOS ARITMÉTICOS Lê instruções na memória


Especifica os números que
serão manipulados

122/133
Circuitos Lógicos: Capítulo 9

9.9 CIRCUITOS ARITMÉTICOS Lê instruções na memória


Especifica os números que
serão manipulados

Define qual operação


aritmética será efetuada

123/133
Circuitos Lógicos: Capítulo 9

9.9 CIRCUITOS ARITMÉTICOS

Guarda dados na forma de


instruções ou resultados de
operações aritméticas

124/133
Circuitos Lógicos: Capítulo 9

9.9 CIRCUITOS ARITMÉTICOS

Recebe da memória um
dos valores que serão
manipulados
125/133
Circuitos Lógicos: Capítulo 9

9.9 CIRCUITOS ARITMÉTICOS


Recebe o valor que será
somado / subtraído do valor
do registrador B e guarda o
resultado da operação

126/133
Circuitos Lógicos: Capítulo 9

9.9 CIRCUITOS ARITMÉTICOS Circuito lógico responsável


pela realização das operações
aritméticas

127/133
Circuitos Lógicos: Capítulo 9

9.10 SOMADOR BINÁRIO PARALELO

128/133
Circuitos Lógicos: Capítulo 9

9.10 SOMADOR BINÁRIO PARALELO

129/133
Circuitos Lógicos: Capítulo 9

9.11 PROJETO DE UM SOMADOR COMPLETO

130/133
Circuitos Lógicos: Capítulo 9

9.11 PROJETO DE UM SOMADOR COMPLETO

131/133
Circuitos Lógicos: Capítulo 9

9.12 SOMADOR PARALELO COMPLETO COM


REGISTRADORES

132/133
Circuitos Lógicos: Capítulo 9

9.12 SOMADOR PARALELO COMPLETO COM


REGISTRADORES

133/133

Potrebbero piacerti anche