4-aritmetica_binaria

54
SISTEMAS LÓGICOS Universidade Federal da Bahia Escola Politécnica PROF. EDSON PINTO SANTANA [email protected]

Upload: raniel-garcia

Post on 31-Jan-2016

212 views

Category:

Documents


0 download

DESCRIPTION

aritmetica binaria

TRANSCRIPT

Page 1: 4-aritmetica_binaria

SISTEMAS LÓGICOS

Universidade Federal da BahiaEscola Politécnica

PROF. EDSON PINTO [email protected]

Page 2: 4-aritmetica_binaria

Sistemas Lógicos 2

SUMÁRIO

4. ARITMÉTICA BINÁRIA

4.1. Representação no sistema sinal-magnitude

4.2. Representação no sistema complemento de 2

4.3. Adição, subtração, multplicação e divisão binárias

4.4. Adição, subtração, multiplicação e divisão no sistema complemento de 2

4.5. Adição BCD

4.6. Aritmética hexadecimal

Page 3: 4-aritmetica_binaria

Sistemas Lógicos 3

4.1. Representação no Sistema Sinal-Magnitude

● Como representar quantidades negativas em números binários?

● Alta complexidade em hardware para efetuar as diferentes operações aritméticas

Page 4: 4-aritmetica_binaria

Sistemas Lógicos 4

4.2. Representação no Sistema Complemento de 2

● Equivale a negação de um número binário

● Possibilita simplificação de hardware: mesmo circuito utilizado para realizar a soma é utilizado para realizar a subtração

● Números positivos representados de forma idêntica ao sistema sinal-magnitude

● Números negativos possuem bits de magnitude em complemento de 2

Page 5: 4-aritmetica_binaria

Sistemas Lógicos 5

4.2. Representação no Sistema Complemento de 2

● Hodômetro binário

+7 0 1 1 1

+6 0 1 1 0

+5 0 1 0 1

+4 0 1 0 0

+3 0 0 1 1

+2 0 0 1 0

+1 0 0 0 1

0 0 0 0 0

-1 1 1 1 1

-2 1 1 1 0

-3 1 1 0 1

-4 1 1 0 0

-5 1 0 1 1

-6 1 0 1 0

-7 1 0 0 1

-8 1 0 0 0

Page 6: 4-aritmetica_binaria

Sistemas Lógicos 6

4.2. Representação no Sistema Complemento de 2

● Maior número positivo: 2N - 1● Menor número negativo: -2N

● Quantidade total de valores representados: 2N+1

N – número de bits referente somente a magnitude, desconsiderando o bit de sinal

Page 7: 4-aritmetica_binaria

Sistemas Lógicos 7

4.3.1. Adição Binária

● Operações básicas:– 0 + 0 = 0

– 0 + 1 = 1

– 1 + 0 = 1

– 1 + 1 = 10 = 0 + carry (1)

– 1 + 1 + 1 = 11 = 1 + carry (1)

carry → vai-um

Page 8: 4-aritmetica_binaria

Sistemas Lógicos 8

4.3.1. Adição Binária

● Exemplo:

0 1 0 1 0 1 1 1+

0 0 1 1 0 1 0 1_______________

Page 9: 4-aritmetica_binaria

Sistemas Lógicos 9

4.3.1. Adição Binária

● Exemplo:1

0 1 0 1 0 1 1 1+

0 0 1 1 0 1 0 1_______________

0

Page 10: 4-aritmetica_binaria

Sistemas Lógicos 10

4.3.1. Adição Binária

● Exemplo:1 1

0 1 0 1 0 1 1 1+

0 0 1 1 0 1 0 1_______________

0 0

Page 11: 4-aritmetica_binaria

Sistemas Lógicos 11

4.3.1. Adição Binária

● Exemplo:1 1 1

0 1 0 1 0 1 1 1+

0 0 1 1 0 1 0 1_______________

1 0 0

Page 12: 4-aritmetica_binaria

Sistemas Lógicos 12

4.3.1. Adição Binária

● Exemplo:1 1 1

0 1 0 1 0 1 1 1+

0 0 1 1 0 1 0 1_______________

1 1 0 0

Page 13: 4-aritmetica_binaria

Sistemas Lógicos 13

4.3.1. Adição Binária

● Exemplo:1 1 1 1

0 1 0 1 0 1 1 1+

0 0 1 1 0 1 0 1_______________

0 1 1 0 0

Page 14: 4-aritmetica_binaria

Sistemas Lógicos 14

4.3.1. Adição Binária

● Exemplo:1 1 1 1 1

0 1 0 1 0 1 1 1+

0 0 1 1 0 1 0 1_______________

0 0 1 1 0 0

Page 15: 4-aritmetica_binaria

Sistemas Lógicos 15

4.3.1. Adição Binária

● Exemplo:1 1 1 1 1 1

0 1 0 1 0 1 1 1+

0 0 1 1 0 1 0 1_______________

0 0 0 1 1 0 0

Page 16: 4-aritmetica_binaria

Sistemas Lógicos 16

4.3.1. Adição Binária

● Exemplo:1 1 1 1 1 1

0 1 0 1 0 1 1 1+

0 0 1 1 0 1 0 1_______________

1 0 0 0 1 1 0 0

Page 17: 4-aritmetica_binaria

Sistemas Lógicos 17

4.3.1. Adição Binária

● Exemplo:1 1 1 1 1 1

0 1 0 1 0 1 1 1 (1+2+4+16+64 = 87)+

0 0 1 1 0 1 0 1 (1+4+16+32 = 53)_______________

1 0 0 0 1 1 0 0 (4+8+128 = 140)

Page 18: 4-aritmetica_binaria

Sistemas Lógicos 18

4.3.2. Subtração Binária

● Operações básicas:– 0 - 0 = 0

– 1 - 0 = 1

– 1 - 1 = 0

– 10 - 1 = 1

Page 19: 4-aritmetica_binaria

Sistemas Lógicos 19

4.3.2. Subtração Binária

● Exemplo:

1 1 0 0 1 0 0 0-

0 1 1 1 1 1 0 1_______________

Page 20: 4-aritmetica_binaria

Sistemas Lógicos 20

4.3.2. Subtração Binária

● Exemplo:

1 1 0 0 1 0 0 0-

0 1 1 1 1 1 0 1_______________

Lembrar da operação de subtração no sistema decimal:

8 0 2 -

1 2 6 _________

Page 21: 4-aritmetica_binaria

Sistemas Lógicos 21

4.3.2. Subtração Binária

● Exemplo:

1 1 0 0 1 0 0 0-

0 1 1 1 1 1 0 1_______________

Lembrar da operação de subtração no sistema decimal:

-1 8 0 12

- 1 2 6 _________

Page 22: 4-aritmetica_binaria

Sistemas Lógicos 22

4.3.2. Subtração Binária

● Exemplo:

1 1 0 0 1 0 0 0-

0 1 1 1 1 1 0 1_______________

Lembrar da operação de subtração no sistema decimal:

-1 8 0 12

- 1 2 6 _________

6

Page 23: 4-aritmetica_binaria

Sistemas Lógicos 23

4.3.2. Subtração Binária

● Exemplo:

1 1 0 0 1 0 0 0-

0 1 1 1 1 1 0 1_______________

Lembrar da operação de subtração no sistema decimal:

-1 -1 8 10 12

- 1 2 6 _________

6

Page 24: 4-aritmetica_binaria

Sistemas Lógicos 24

4.3.2. Subtração Binária

● Exemplo:

1 1 0 0 1 0 0 0-

0 1 1 1 1 1 0 1_______________

Lembrar da operação de subtração no sistema decimal:

-1 -1 8 10 12

- 1 2 6 _________

7 6

Page 25: 4-aritmetica_binaria

Sistemas Lógicos 25

4.3.2. Subtração Binária

● Exemplo:

1 1 0 0 1 0 0 0-

0 1 1 1 1 1 0 1_______________

Lembrar da operação de subtração no sistema decimal:

-1 -1 8 10 12

- 1 2 6 _________

6 7 6

Page 26: 4-aritmetica_binaria

Sistemas Lógicos 26

4.3.2. Subtração Binária

● Exemplo:

1 1 0 0 1 0 0 0-

0 1 1 1 1 1 0 1_______________

Page 27: 4-aritmetica_binaria

Sistemas Lógicos 27

4.3.2. Subtração Binária

● Exemplo:

-1

1 1 0 0 1 0 0 10-

0 1 1 1 1 1 0 1_______________

Page 28: 4-aritmetica_binaria

Sistemas Lógicos 28

4.3.2. Subtração Binária

● Exemplo:

-1

1 1 0 0 1 0 0 10-

0 1 1 1 1 1 0 1_______________

1

Page 29: 4-aritmetica_binaria

Sistemas Lógicos 29

4.3.2. Subtração Binária

● Exemplo:

-1 -1

1 1 0 0 1 0 10 10-

0 1 1 1 1 1 0 1_______________

1

Page 30: 4-aritmetica_binaria

Sistemas Lógicos 30

4.3.2. Subtração Binária

● Exemplo:

-1 -1

1 1 0 0 1 0 10 10-

0 1 1 1 1 1 0 1_______________

1 1

Page 31: 4-aritmetica_binaria

Sistemas Lógicos 31

4.3.2. Subtração Binária

● Exemplo:

-1 -1 -1

1 1 0 0 1 10 10 10-

0 1 1 1 1 1 0 1_______________

1 1

Page 32: 4-aritmetica_binaria

Sistemas Lógicos 32

4.3.2. Subtração Binária

● Exemplo:

-1 -1 -1

1 1 0 0 1 10 10 10-

0 1 1 1 1 1 0 1_______________

0 1 1

Page 33: 4-aritmetica_binaria

Sistemas Lógicos 33

4.3.2. Subtração Binária

● Exemplo:

-1 -1 -1 -1

1 1 0 0 11 10 10 10-

0 1 1 1 1 1 0 1_______________

0 1 1

Page 34: 4-aritmetica_binaria

Sistemas Lógicos 34

4.3.2. Subtração Binária

● Exemplo:

-1 -1 -1 -1

1 1 0 0 11 10 10 10-

0 1 1 1 1 1 0 1_______________

1 0 1 1

Page 35: 4-aritmetica_binaria

Sistemas Lógicos 35

4.3.2. Subtração Binária

● Exemplo:

-1 -1 -1 -1 -1

1 1 0 10 11 10 10 10-

0 1 1 1 1 1 0 1_______________

1 0 1 1

Page 36: 4-aritmetica_binaria

Sistemas Lógicos 36

4.3.2. Subtração Binária

● Exemplo:

-1 -1 -1 -1 -1

1 1 0 10 11 10 10 10-

0 1 1 1 1 1 0 1_______________

0 1 0 1 1

Page 37: 4-aritmetica_binaria

Sistemas Lógicos 37

4.3.2. Subtração Binária

● Exemplo:

-1 -1 -1 -1 -1 -1

1 1 10 10 11 10 10 10-

0 1 1 1 1 1 0 1_______________

0 1 0 1 1

Page 38: 4-aritmetica_binaria

Sistemas Lógicos 38

4.3.2. Subtração Binária

● Exemplo:

-1 -1 -1 -1 -1 -1

1 1 10 10 11 10 10 10-

0 1 1 1 1 1 0 1_______________

0 0 1 0 1 1

Page 39: 4-aritmetica_binaria

Sistemas Lógicos 39

4.3.2. Subtração Binária

● Exemplo:

-1 -1 -1 -1 -1 -1 -1

1 11 10 10 11 10 10 10-

0 1 1 1 1 1 0 1_______________

0 0 1 0 1 1

Page 40: 4-aritmetica_binaria

Sistemas Lógicos 40

4.3.2. Subtração Binária

● Exemplo:

-1 -1 -1 -1 -1 -1 -1

1 11 10 10 11 10 10 10-

0 1 1 1 1 1 0 1_______________

1 0 0 1 0 1 1

Page 41: 4-aritmetica_binaria

Sistemas Lógicos 41

4.3.2. Subtração Binária

● Exemplo:

-1 -1 -1 -1 -1 -1 -1

1 11 10 10 11 10 10 10-

0 1 1 1 1 1 0 1_______________

0 1 0 0 1 0 1 1

Page 42: 4-aritmetica_binaria

Sistemas Lógicos 42

4.3.2. Subtração Binária

● Exemplo:

-1 -1 -1 -1 -1 -1 -1

1 11 10 10 11 10 10 10 (8+64+128 = 200)-

0 1 1 1 1 1 0 1 (1+4+8+16+32+64 = 125)_______________

0 1 0 0 1 0 1 1 (1+2+8+64 = 75)

Page 43: 4-aritmetica_binaria

Sistemas Lógicos 43

4.3.3. Multiplicação Binária

1 0 0 1x

1 0 1 1

1 0 0 11 0 0 1

0 0 0 01 0 0 11 1 0 0 0 1 1

● Exemplos:

Page 44: 4-aritmetica_binaria

Sistemas Lógicos 44

4.3.4. Divisão Binária

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

1 0 0 0 0 1 1 1 0 1 0 0 1 0. 1- 1 1 - 1 0 0

0 0 1 1 0 0 1 0 0- 1 1 - 1 0 0

0 0

● Exemplos:

Page 45: 4-aritmetica_binaria

Sistemas Lógicos 45

4.4.1. Adição no Sistema Complemento de 2

● Caso I: dois números positivos

8 3 0 1 0 1 0 0 1 1+ +

1 6 0 0 0 1 0 0 0 0

9 9 0 1 1 0 0 0 1 1

1 0 0 0 1 1 0 0 1 0 0+ +

1 0 0 0 1 1 0 0 1 0 0

2 0 0 1 1 0 0 1 0 0 0

Overflow aritimético (faixa -128 a 127)

Page 46: 4-aritmetica_binaria

Sistemas Lógicos 46

4.4.1. Adição no Sistema Complemento de 2

● Caso II: Positivo e negativo menor

1 2 5 0 1 1 1 1 1 0 1+ +

- 6 8 1 0 1 1 1 1 0 0

5 7 1 0 0 1 1 1 0 0 1

Descartado (hodômetro de 8 bits)

Page 47: 4-aritmetica_binaria

Sistemas Lógicos 47

4.4.1. Adição no Sistema Complemento de 2

● Caso III: Positivo e negativo maior

3 7 0 0 1 0 0 1 0 1+ +

- 1 1 5 1 0 0 0 1 1 0 1

- 7 8 1 0 1 1 0 0 1 0

Page 48: 4-aritmetica_binaria

Sistemas Lógicos 48

4.4.1. Adição no Sistema Complemento de 2

● Caso IV: dois números negativos

- 4 3 1 1 0 1 0 1 0 1+ +

- 7 8 1 0 1 1 0 0 1 0

- 1 2 1 1 1 0 0 0 0 1 1 1

Descartado (hodômetro de 8 bits)

Page 49: 4-aritmetica_binaria

Sistemas Lógicos 49

4.4.3. Multiplicação no Sistema Complemento de 2

● Efetua-se a multiplicação em binário direto, realizando-se as conversões necessárias nos operandos e no resultado para complemento de 2.

Page 50: 4-aritmetica_binaria

Sistemas Lógicos 50

4.4.4. Divisão no Sistema Complemento de 2

● Efetua-se a divisão em binário direto, realizando-se as conversões necessárias nos operandos e no resultado para complemento de 2.

Page 51: 4-aritmetica_binaria

Sistemas Lógicos 51

4.5. Adição em Código BCD

● Soma inferior a 9: Soma binários diretamente. Ex.:

4 2 0 1 0 0 0 0 1 0+ +

3 3 0 0 1 1 0 0 1 1

7 5 0 1 1 1 0 1 0 1

Page 52: 4-aritmetica_binaria

Sistemas Lógicos 52

4.5. Adição em Código BCD

● Soma superior a 9: adiciona fator corretivo 6 (equivalente a pular códigos inválidos) e propaga um carry para o próximo dígito. Ex.:

4 7 0 1 0 0 0 1 1 1+ +

3 5 0 0 1 1 0 1 0 1

8 2 0 1 1 1 1 1 0 0+

1 0 1 1 0

1 0 0 0 0 0 1 0

Page 53: 4-aritmetica_binaria

Sistemas Lógicos 53

4.5. Adição em Código BCD

● Obs: quando a soma for superior a 16, o carry propaga-se automaticamente na soma binária.

4 8 0 1 0 0 1 0 0 0+ +

8 9 1 0 0 0 1 0 0 1

1 3 7 1 1 0 1 0 0 0 1+

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

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

Page 54: 4-aritmetica_binaria

Sistemas Lógicos 54

4.5. Aritmética Hexadecimal

● O complemento pode ser obtido subtraindo-se cada dígito de “F” e somando “1”. Ex:

● Adição e subtração hexadecimal. Ex.:

● Números negativos em hexadec. possuem MSD ≥ 8

F F F

-7 -3 -A

8 C 5+

1

8 C 6

5 9 2-

3 A 5

?

5 9 2+

C 5 B

1 1 E D

3 A F+

2 3 C

5 E B

Descartado