Algoritmos Multiplicación División 1 Algoritmos de Multiplicación Producto = Multiplicando * Multiplicador P : producto R: Multiplicando Q: Multiplicador P=R*Q 2 Algoritmos de Multiplicación Primer Algoritmo. 3 Algoritmos de Multiplicación Primer Algoritmo. 4 Algoritmos de Multiplicación Segundo Algoritmo 5 Algoritmos de Multiplicación Segundo Algoritmo 6 Algoritmos de Multiplicación Segundo Algoritmo Ejemplo 0010 * 0011 Multiplicador 0 1 2 3 4 Multiplicando Producto 0011 0010 00000000 0011 0010 00100000 0011 0010 00010000 0001 0010 00010000 0001 0010 00110000 0001 0010 00011000 0000 0010 00011000 0000 0010 00011000 0000 0010 00001100 0000 0010 00001100 0000 0010 00000110 0000 0010 00000110 7 0000 0010 00000110 Algoritmos de Multiplicación Tercer Algoritmo 8 Algoritmos de Multiplicación Tercer Algoritmo 9 Algoritmos de Multiplicación Tercer Algoritmo Ejemplo Multiplicando 0010 Producto 00000011 0010 00100011 1 0010 00010001 2 0010 00110001 0010 00011000 0010 00011000 0010 00001100 0010 00001100 0010 00000110 0 3 4 10 Algoritmos de Multiplicación Algoritmo Booth’s (operandos con signo) Multiplicando Multiplicador 0010 1001 Multiplicando Producto Multiplicador 0010 0000 10010 qi qi-1 11 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 operación. Desplaza no se efectúa ninguna 1 bit a la derecha registro producto. 12 Algoritmos de Multiplicación Algoritmo Booth’s (operandos con signo) Multiplicando Producto Multiplicador 0010 0000 1001 0 qi = 1 y qi-1 = 0, resta 0010 1110 1001 0 se desplaza 1 bit 0010 1111 0100 1 qi = 0 y qi-1 = 1, suma 0010 0001 0100 1 se desplaza 1 bit 0010 0000 1010 0 qi = qi-1 = 0, solo se desplaza 1 bit 0010 0000 0101 0 qi = 1 y qi-1 = 0, resta 0010 1110 0101 0 se desplaza 1 bit 0010 1111 0010 1 13 Algoritmos de División Dividendo = Cuociente * Divisor + Resto 14 Algoritmos de División Primer Algoritmo 15 Algoritmos de División Primer Algoritmo 16 Algoritmos de División Segundo Algoritmo 17 Algoritmos de División Segundo Algoritmo 18 Algoritmos de División Tercer Algoritmo 19 Algoritmos de División Tercer Algoritmo 20 Punto Flotante: Suma Ejemplo: sumar los números 9,99910*10 1 + 1,61010 * 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 ? 21 Punto Flotante: Suma Primero alinear el punto decimal de el número que posee menor exponente: 1,61010*10 -1 = 0,161010*100 = 0.0161010*101 Sumar ambos significandos (mantisa) 9,99910 + 0,01610 10,01510 → 10,01510 * 101 22 Punto Flotante: Suma Número flotante normalizado 10,01510 * 101 = 1,001510 * 102 Se asume que se puede almacenar cuatro dígitos significativos, por lo que se debe redondear el número. 2 1,002 * 10 10 23 Punto Flotante: Suma 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 Suma los significandos Normaliza la suma, realiza corrimiento: hacia la derecha e incrementa el exponente, O Hacia la izquierda y decremeta el exponente si Overflow o underflow Excepción no Redondear significando de acuerdo al Número de bits no Normalizado ? si Fin 24 Punto Flotante: Suma 25 Punto Flotante: Multiplicación Ejemplo: multiplicar los números 1,11010*10 10 x 9,20010 * 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 ? 26 Punto Flotante: Multiplicación Se calcula el exponente: sumando los exponentes de los operandos Directo 10+ (-5) = 5 O polarizado 10 + 127 = 137 -5 + 127 = 122 Nuevo exponente = 137 +122 – 127 = 259 – 127 = 132 = 5 + 127 27 Punto Flotante: Multiplicación A continuación significandos. se multiplican los 1,11010 x 9,20010 0000 0000 2220 9990 1021200010 → 10,21200010 10,21210* 105 28 Punto Flotante: Multiplicación Normalizar 10,21210* 105 = 1,021210* 106 Redondear 1,02110* 106 Signo El 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,02110* 106 29 Punto Flotante: Multiplicación Ejemplo en base 2 1,0002 * 2-1 x -1,1102 * 2-2 Sumando exponentes (-1 -2) + 127 = 124 (-1 +127) + (-2 + 127) -127 = 124 30 Punto Flotante: Multiplicación Multiplicando significandos 1.0002 x 1.1102 0000 1000 1000 1000 11100002 → 1,1100002 * 2-3 31 Punto Flotante: Multiplicación Verificar si esta normalizado y verificar el exponente, overflow o underflow (254 >= Ei >= 1) Redondear 1,1102 * 2-3 Signo -3 -1,110 * 2 2 32 Punto Flotante: Multiplicación Inicio Suma los exponentes polarizados de los dos números y resta la polarización obteniendo así en nuevo exponente Multiplica los significandos Normaliza el producto si es necesario, realizando Un corrimiento a la derecha e incremetandto el exponente Overflow o underflow si Excepción no Redondear significando de acuerdo al Número de bits no Normalizado ? si Signo de acuerdo a los operandos 33 Fin