Prerrequisito – Estándar IEEE 754 Números de punto flotante
Problema:
Aquí, hemos discutido un algoritmo para multiplicar dos números de punto flotante, x e y.
Algoritmo:-
- Convierta estos números en notación científica, de modo que podamos representar explícitamente el 1 oculto.
- Sea ‘a’ el exponente de x y ‘b’ el exponente de y.
- Suponga que el exponente resultante c = a+b. Se puede ajustar después del siguiente paso.
- Multiplique la mantisa de x por la mantisa de y. Llame a este resultado m.
- Si m no tiene un solo 1 a la izquierda del punto de base, entonces ajuste el punto de base para que lo tenga, y ajuste el exponente c para compensar.
- Agregue bits de signo, mod 2, para obtener el signo de la multiplicación resultante.
- Vuelva a convertir a una representación de punto flotante de un byte, truncando bits si es necesario.
Nota:
Los valores negativos son fáciles de resolver en la multiplicación de punto flotante. Trate el bit de signo como binario sin signo de 1 bit, agregue mod 2. Esto es lo mismo que XORing el bit de signo.
Ejemplo:
suponga que desea multiplicar los siguientes dos números:
Ahora, estos son pasos de acuerdo con el algoritmo anterior:
- Dado, A = 1,11 x 2^0 y B = 1,01 x 2^2
- Entonces, el exponente c = a + b = 0 + 2 = 2 es el exponente resultante.
- Ahora, multiplique 1.11 por 1.01, entonces el resultado será 10.0011
- Necesitamos normalizar 10.0011 a 1.00011 y ajustar el exponente 1 por 3 apropiadamente.
- Bit de signo resultante 0 (XOR) 0 = 0, significa positivo.
- Ahora, trunque y normalícelo de 1.00011 x 2^3 a 1.000 x 2^3.
Por lo tanto, el número resultante es,
De manera similar, podemos multiplicar otros números de coma flotante.
Publicación traducida automáticamente
Artículo escrito por rajkumarupadhyay515 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA