17
3/5/14 1 2014r19 Aritmética Binária (Adição e Multiplicação) Introdução à Computação Introdução à Computação 2 Aritmética Binária ( Adição e Subtração) Observações • Os exemplos usados neste material usam uma quantidade variável de bits, mas internamente, os computadores usam sempre uma mesma quantidade bits para todas as operações. • As pessoas, normalmente, suprimem zeros a esquerda mas os computadores, internamente, usam todos os bits de um número. • Os computadores podem trabalhar com 8, 16, 32, 64, ... bits conforme a CPU em uso.

_ IaC - Aritmetica Binaria AdicaoEMultiplicacao - 2pp (1)

Embed Size (px)

Citation preview

Page 1: _ IaC - Aritmetica Binaria AdicaoEMultiplicacao - 2pp (1)

3/5/14

1

2014r19

Aritmética Binária(Adição e Multiplicação)

Introdução à Computação

Introdução à Computação

2Aritmética Binária ( Adição e Subtração)

Observações

• Os exemplos usados neste material usam uma quantidade variável de bits,

mas internamente, os computadores usam sempre uma mesma quantidade

bits para todas as operações.

• As pessoas, normalmente, suprimem zeros a esquerda mas os

computadores, internamente, usam todos os bits de um número.

• Os computadores podem trabalhar com 8, 16, 32, 64, ... bits conforme a CPU

em uso.

Page 2: _ IaC - Aritmetica Binaria AdicaoEMultiplicacao - 2pp (1)

3/5/14

2

Introdução à Computação

3Aritmética Binária ( Adição e Subtração)

Adição de Números Binários

• Regras:

• 0 + 0 Resultado = 0 Vai-um = 0

• 0 + 1 Resultado = 1 Vai-um = 0

• 1 + 0 Resultado = 1 Vai-um = 0

• 1 + 1 Resultado = 0 Vai-um = 1 *

* 12 + 12 = 102 ou resultado e vai-um

110 + 110 = 210

Introdução à Computação

4Aritmética Binária ( Adição e Subtração)

Adição de Números Binários

• Se for necessário efetuar a soma de mais de dois bits, deve-se trabalhar com

dois bits de cada vez, guardando o resultado e indicando o vai na coluna

seguinte.

• Depois voltar a todos os resultados ( também de dois em dois ) , repetindo o

processo.

Page 3: _ IaC - Aritmetica Binaria AdicaoEMultiplicacao - 2pp (1)

3/5/14

3

Introdução à Computação

5Aritmética Binária ( Adição e Subtração)

Adição de Números Binários

• Exemplos

1

1 0 12

+ 1 1 02

-------

1 0 1 12

510

610

1110

1 1

1 0 1 1 12

+ 0 1 1 0 02

-----------

1 0 0 0 1 12

2310

1210

3510

1 1 1 1 1

1 1 1 1 12

+ 0 1 1 1 12

-----------

1 0 1 1 1 02

3110

1510

4610

Somente os "vai-um" com valores em 1

foram indicados

Introdução à Computação

6Aritmética Binária ( Adição e Subtração)

Exercícios sobre Adição

10012

+00012

-----1010

2

Page 4: _ IaC - Aritmetica Binaria AdicaoEMultiplicacao - 2pp (1)

3/5/14

4

Introdução à Computação

7Aritmética Binária ( Adição e Subtração)

Exercícios sobre Adição

11012

+01012

-----10010

2

Introdução à Computação

8Aritmética Binária ( Adição e Subtração)

Exercícios sobre Adição

1110012

+1000012

-------

10110102

Page 5: _ IaC - Aritmetica Binaria AdicaoEMultiplicacao - 2pp (1)

3/5/14

5

Introdução à Computação

9Aritmética Binária ( Adição e Subtração)

Exercícios sobre Adição

11112

+11002

-----11011

2

Introdução à Computação

10Aritmética Binária ( Adição e Subtração)

Exercícios sobre Adição

11112

+11112

-----11110

2

Page 6: _ IaC - Aritmetica Binaria AdicaoEMultiplicacao - 2pp (1)

3/5/14

6

Introdução à Computação

11Aritmética Binária ( Adição e Subtração)

Multiplicação de Números Binários

• Regras:

• 0 x 0 = 0

• 0 x 1 = 0

• 1 x 0 = 0

• 1 x 1 = 1

Introdução à Computação

12Aritmética Binária ( Adição e Subtração)

Multiplicação de Números Binários

• Multiplicação � Equivalente a somas sucessivas

• Multiplicação de m x n equivale a m + m + m + ... + m onde a parcela m é

repetida n vezes.

• A multiplicação através de somas sucessivas é demorada para números

muito grandes.

Ex: 123456 x 987654 = ?

O número 123456 teria que ser somando com ele mesmo 987654

vezes.

Page 7: _ IaC - Aritmetica Binaria AdicaoEMultiplicacao - 2pp (1)

3/5/14

7

Introdução à Computação

13Aritmética Binária ( Adição e Subtração)

Multiplicação de Números Binários

Multiplicando 1 1

Multiplicador x 1 2 3

=============

Parcela 3 3 (11 x 3 x 1)

Parcela 2 2 (11 x 2 x 10)

Parcela + 1 1 (11 x 1 x 100)

=============

Produto 1 3 5 3

Introdução à Computação

14Aritmética Binária ( Adição e Subtração)

Multiplicação de Números Binários

Multiplicando 1 1 1

Multiplicador x 1 0 1

================

Parcela 1 1 1 (111 x 1 x 1)

Parcela 0 0 0 (111 x 0 x 10)

Parcela + 1 1 1 (111 x 1 x 100)

================

Produto 1 0 0 0 1 1

112 x 102 = 1102 ( 2 bits x 2 bits = 3 bits )

1112 x 1102 = 1010102 ( 3 bits x 3 bits = 6bits )

11102 x 11002 = 101010002 ( 4 bits x 4 bits = 8bits )

110002 x 112 = 10010002 ( 5 bits x 2 bits = 7bits )

Geralmente n bits x m bits = (n + m)bits.

Page 8: _ IaC - Aritmetica Binaria AdicaoEMultiplicacao - 2pp (1)

3/5/14

8

Introdução à Computação

15Aritmética Binária ( Adição e Subtração)

Multiplicação de Números Binários

Multiplicando 1 1 0 1 1 0

Multiplicador x 1 1 0 0 1 1

===============================

Parcela 1 1 0 1 1 0

Parcela 1 1 0 1 1 0

Parcela 0 0 0 0 0 0

Parcela 0 0 0 0 0 0

Parcela 1 1 0 1 1 0

Parcela 1 1 0 1 1 0

===============================

Produto 1 0 1 0 1 1 0 0 0 0 1 0

Introdução à Computação

16Aritmética Binária ( Adição e Subtração)

Multiplicação de Números Binários

A soma de diversas parcelas é uma operação complexa para que um

computador execute.

Para tornar mais fácil este processo, as parcelas intermediárias são somadas

à medida em que são formadas.

Multiplicando

1 1 0 1 1 0

Multiplicador x

1 1 0 0 1 1

=======================================

Parcela 1

1 0 1 1 0

Parcela 1 1

0 1 1 0

=======================================

1 0 1

0 0 0 1 0

Parcela 1 1 0 1 1

0

=======================================

1 0 0 0 0 0

Page 9: _ IaC - Aritmetica Binaria AdicaoEMultiplicacao - 2pp (1)

3/5/14

9

Introdução à Computação

17Aritmética Binária ( Adição e Subtração)

Multiplicação - Exemplos

10002

x 10102

=========

0000

1000

0000

1000

=========

10100002

= 8

=10

=80

11002

x 00112

=========

1100

1100

0000

0000

=========

01001002

=12

= 3

=36

1112

x 1002

=========

000

000

111

=========

111002

= 7

= 4

=28

11002

x 00112

=========

1100

1100

=========

1001002

Introdução à Computação

18Aritmética Binária ( Adição e Subtração)

Multiplicação - Exercícios

0000

1001

0000

0000

=========

00100102

10012

x 00102

=========

Page 10: _ IaC - Aritmetica Binaria AdicaoEMultiplicacao - 2pp (1)

3/5/14

10

Introdução à Computação

19Aritmética Binária ( Adição e Subtração)

Multiplicação - Exercícios

0000

0000

1100

0000

=========

01100002

11002

x 01002

=========

Introdução à Computação

20Aritmética Binária ( Adição e Subtração)

Multiplicação - Exercícios

1111

0000

1111

0000

=========

10010112

11112

x 01012

=========

Page 11: _ IaC - Aritmetica Binaria AdicaoEMultiplicacao - 2pp (1)

3/5/14

11

Introdução à Computação

21Aritmética Binária ( Adição e Subtração)

Multiplicação - Exercícios

0000

0000

1100

1100

=========

100100002

11002

x 11002

=========

Introdução à Computação

22Aritmética Binária ( Adição e Subtração)

Multiplicação

Quando estamos multiplicando um número com n bits por um outro com m bits, qual será a quantidade de somas que teremos que fazer no pior caso?

R: m bits - 1 somas

Ex.: 1 1 0 1 0 x 1 1 1 5 x 3 n = 5, m = 3

1 1 0 1 00 0 1 1 1=======1 1 0 1 0

+ 1 1 0 1 0 ========

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

==========1 0 1 1 0 1 1 0

Nos outros casos – onde existem o no multiplicador, não precisamos fazer a soma quando o bit for zero. Basta fazer o deslocamento para a esquerda.

2 somas

Page 12: _ IaC - Aritmetica Binaria AdicaoEMultiplicacao - 2pp (1)

3/5/14

12

Introdução à Computação

23Aritmética Binária ( Adição e Subtração)

Meio Somador ( Half adder )

HA

b1

b2

soma

vai um

HA

0

0

0

0HA

0

1

1

0

HA

1

0

1

0HA

1

1

0

1

Circuito Lógico

Introdução à Computação

24Aritmética Binária ( Adição e Subtração)

Meio Somador ( Half adder )

Circuito lógico do meio somador

b1

b2

soma

vai um

Page 13: _ IaC - Aritmetica Binaria AdicaoEMultiplicacao - 2pp (1)

3/5/14

13

Introdução à Computação

25Aritmética Binária ( Adição e Subtração)

Verificação

• Verifique se o circuito fornecido realmente faz a operação de soma e vai um

0

0

0

0 1

0

0

1

1

0

1

00

1

1

1

Introdução à Computação

26Aritmética Binária ( Adição e Subtração)

Exercício

I0I1

I2

O0

O1

Montar a tabela verdade para o circuito acima

Page 14: _ IaC - Aritmetica Binaria AdicaoEMultiplicacao - 2pp (1)

3/5/14

14

Introdução à Computação

27Aritmética Binária ( Adição e Subtração)

Exercício

I0

I1

I2

T1

T2

T3

O0

O1

0 0 0 0 0 0 0 0

0 0 1 0 0 0 1 0

0 1 0 1 0 0 1 0

0 1 1 1 1 0 0 1

1 0 0 1 0 0 1 0

1 0 1 1 1 0 0 1

1 1 0 0 0 1 0 1

1 1 1 0 0 1 1 1

I0I1I2

O0

O1

T1

T2

T3

Introdução à Computação

28Aritmética Binária ( Adição e Subtração)

Exercício

b0

b1

Ci

S Co

0 0 0 0 0

0 0 1 1 0

0 1 0 1 0

0 1 1 0 1

1 0 0 1 0

1 0 1 0 1

1 1 0 0 1

1 1 1 1 1

b0b1

Ci

S

Co

(Soma )

( Vai um )

( Vem um )

0 + 0 + 0 = 0 vai 00 + 0 + 1 = 0 + 1 + 0 = 1 + 0 + 0 = 1 vai 00 + 1 + 1 = 1 + 0 + 1 = 1 + 1 + 0 = 0 vai 11+ 1 + 1 = 1 vai 1

Full Adder – Somador Completo

Page 15: _ IaC - Aritmetica Binaria AdicaoEMultiplicacao - 2pp (1)

3/5/14

15

Introdução à Computação

29Aritmética Binária ( Adição e Subtração)

Associação de Full Adders

Full

Adder

Full

Adder

Full

Adder

Full

Adder

Byte 1

Byte 2

b1 b1b2b2b3b3b4b4

b1 Soma b2 Soma b3 Soma b4 Soma

Ci

Ci Ci Ci Ci

CoCoCoCo

Overflow(Estouro)

...

...

...

...

...

0 0 1 1

0 1 0 1

1 0 0 0

111

Introdução à Computação

30Aritmética Binária ( Adição e Subtração)

Overflow ( estouro )

• Se estivermos somando números de n bits e a soma der um resultado com

mais de n bits, dizemos que ocorreu um estouro (ou overflow).

• Isto quer dizer que a soma de dois números de n bits resultou em um número cuja quantidade de bits necessária para sua representação é maior que n.

• O número gerado ( resultado da soma ) ultrapassou a capacidade de

representação com n bits.

• 1111 + 0001 = 10000

4 bits 4 bits 5 bits

• Nestas situações é necessário apresentar uma mensagem ou indicar

internamente que ocorreu um erro!

O overflow ocorre quando um valor

não pode representado usando uma

determinada quantidade de bits

(dígitos).

Page 16: _ IaC - Aritmetica Binaria AdicaoEMultiplicacao - 2pp (1)

3/5/14

16

Introdução à Computação

31Aritmética Binária ( Adição e Subtração)

Overflow - Exercícios

Para os seguintes números e operações na base 2, indique quando ocorreu

overflow.

00010001 +

11001110

11011111 Não

1100 +

0111

10011 Overflow

1111 +

1111

11110 Overflow

Introdução à Computação

32Aritmética Binária ( Adição e Subtração)

Multiplicação pela Base

Cada vez que multiplicamos o valor de um número binário pela sua base ( 210ou 102 ) dobramos o seu valor.

A multiplicação pela base é alcançada, acrescentando-se um zero a direita do

numero.

1102 = 610

1102 x 210 = 1102 x 102 = 11002 2 = 21 = mais um zero

1102 x 410 = 1102 x 102 x 102 = 110002 4 = 22 = mais dois zeros

1102 x 810 = 1102 x 102 x 102 x 102 = 1100002 8 = 23 = mais três zeros

1112 = 7101112 x 1610 = 1112 x 102 x 102 x 102 x102 11100002 16 = 24 = mais

quatro zeros

Page 17: _ IaC - Aritmetica Binaria AdicaoEMultiplicacao - 2pp (1)

3/5/14

17

Introdução à Computação

33Aritmética Binária ( Adição e Subtração)

Fim