Algoritmos Multiplicación...

Post on 07-Nov-2019

2 views 0 download

Transcript of Algoritmos Multiplicación...

1

Algoritmos Multiplicación

División

2

Algoritmos de Multiplicación

Producto = Multiplicando * MultiplicadorP : productoR: MultiplicandoQ: Multiplicador

P = R * Q

3

Algoritmos de Multiplicación

Primer Algoritmo.

4

Algoritmos de Multiplicación

Primer Algoritmo.

5

Algoritmos de Multiplicación

Segundo Algoritmo

6

Algoritmos de Multiplicación

Segundo Algoritmo

7

Algoritmos de Multiplicación

Segundo AlgoritmoEjemplo 0010 * 0011

Multiplicador Multiplicando Producto

0 0011 0010 00000000

0011 0010 00100000

1 0011 0010 00010000

0001 0010 00010000

0001 0010 00110000

2 0001 0010 00011000

0000 0010 00011000

0000 0010 00011000

3 0000 0010 00001100

0000 0010 00001100

0000 0010 00000110

4 0000 0010 00000110

0000 0010 00000110

8

Algoritmos de Multiplicación

Tercer Algoritmo

9

Algoritmos de Multiplicación

Tercer Algoritmo

10

Algoritmos de Multiplicación

Tercer Algoritmo Ejemplo

MultiplicandoMultiplicando ProductoProducto

0 0010 00000011

0010 00100011

1 0010 00010001

2 0010 00110001

0010 00011000

3 0010 00011000

0010 00001100

4 0010 00001100

0010 00000110

11

Algoritmos de Multiplicación

Algoritmo Booth’s (operandos con signo) Multiplicando 0010 Multiplicador 1001

Multiplicando Producto Multiplicador

0010 0000 10010qqii qqi-1i-1

12

Algoritmos de Multiplicación

Algoritmo Booth’s (operandos con signo) Suma o Resta el multiplicando a la mitad

izquierda del producto y coloca el resultado en la mitad izquierda del producto:

Si qi = 0 y qi-1 = 1 suma

Si qi = 1 y qi-1 = 0 resta

Si qi = qi-1 no se efectúa ninguna operación.

Desplaza 1 bit a la derecha registro producto.

13

Algoritmos de Multiplicación

Algoritmo Booth’s (operandos con signo)Multiplicando Producto Multiplicador

0010 0000 1001 0

0010 1110 1001 0

qi = 0 y qi-1 = 1, suma

qi = 1 y qi-1 = 0, resta

qi = qi-1 = 0, solo se desplaza 1 bit

se desplaza 1 bit

0010 1111 0100 1

0010 0001 0100 1 se desplaza 1 bit

0010 0000 1010 0

0010 0000 0101 0 qi = 1 y qi-1 = 0, resta

0010 1110 0101 0 se desplaza 1 bit

0010 1111 0010 1

14

Algoritmos de División

Dividendo = Cuociente * Divisor + Resto

15

Algoritmos de División

Primer Algoritmo

16

Algoritmos de División

Primer Algoritmo

17

Algoritmos de División

Segundo Algoritmo

18

Algoritmos de División

Segundo Algoritmo

19

Algoritmos de División

Tercer Algoritmo

20

Algoritmos de División

Tercer Algoritmo

21

Punto Flotante: Suma

Ejemplo: sumar los números9,999

10*101 + 1,610

10 * 10-1

Asuma que solo se puede almacenar cuatro dígitos significativos y dos dígitos para el exponente.

Cómo se realiza esta suma ?

22

Punto Flotante: Suma

Primero alinear el punto decimal de el número que posee menor exponente:1,610

10*10-1 = 0,1610

10*100 = 0.01610

10*101

Sumar ambos significandos (mantisa) 9,999

10

+ 0,01610

10,01510

→ 10,01510

* 101

23

Punto Flotante: Suma

Número flotante normalizado10,015

10 * 101 = 1,0015

10 * 102

Se asume que se puede almacenar cuatro dígitos significativos, por lo que se debe redondear el número.

1,00210

* 102

24

Punto Flotante: SumaInicio

Compara los exponentes de los dos número;Efectúa un corrimiento a la derecha del número

más pequeño hasta que el exponente sea igual al del otro número

Suma los significandos

Normaliza la suma, realiza corrimiento:hacia la derecha e incrementa el exponente,

OHacia la izquierda y decremeta el exponente

Overflow ounderflow

Excepción

Redondear significando de acuerdo alNúmero de bits

Normalizado ?

Fin

si

no

si

no

25

Punto Flotante: Suma

26

Punto Flotante: Multiplicación

Ejemplo: multiplicar los números1,110

10*1010 x 9,200

10 * 10-5

Asuma que solo se puede almacenar cuatro dígitos significativos y dos dígitos para el exponente.

Cómo se realiza esta multiplicación ?

27

Punto Flotante: Multiplicación

Se calcula el exponente: sumando los exponentes de los operandosDirecto 10+ (-5) = 5O polarizado

10 + 127 = 137 -5 + 127 = 122 Nuevo exponente

= 137 +122 – 127 = 259 – 127 = 132 = 5 + 127

28

Punto Flotante: Multiplicación

A continuación se multiplican los significandos.

1,11010

x 9,20010

0000 0000 2220 999010212000

10 → 10,212000

10

10,21210

* 105

29

Punto Flotante: Multiplicación

Normalizar10,212

10* 105 = 1,0212

10* 106

Redondear1,021

10* 106

SignoEl signo del producto depende de los signos

de ambos operandos Si el signo de ambos es igual , el signo resultado es

positivo, en otro caso es negativo+1,021

10* 106

30

Punto Flotante: Multiplicación

Ejemplo en base 21,000

2 * 2-1 x -1,110

2 * 2-2

Sumando exponentes (-1 -2) + 127 = 124 (-1 +127) + (-2 + 127) -127 = 124

31

Punto Flotante: Multiplicación

Multiplicando significandos 1.000

2

x 1.1102

0000 1000 10001000

11100002

→ 1,1100002 * 2-3

32

Punto Flotante: Multiplicación

Verificar si esta normalizado y verificar el exponente, overflow o underflow

(254 >= Ei >= 1)

Redondear 1,110

2 * 2-3

Signo-1,110

2 * 2-3

33

Inicio

Compara los exponentes de los dos número;Efectúa un corrimiento a la derecha del número

más pequeño hasta que el exponente sea igual al del otro número

Multiplica los significandos

Normaliza el producto si es necesario, realizandoUn corrimiento a la derecha e incremetandto el

exponente

Overflow ounderflow Excepción

Redondear significando de acuerdo alNúmero de bits

Normalizado ?

Fin

si

no

si

no

Suma los exponentes polarizados de los dos números y resta la polarización obteniendo así en nuevo exponente

Signo de acuerdo a los operandos

Punto Flotante: Multiplicación