[2020][Febrero][Pregunta 3]

[2020][Febrero][Pregunta 3]

de Rodrigo Alejandro Aguillon Stoletniy -
Número de respuestas: 7
Buenas, tengo una duda respecto al exponente, porque plantean con el exponente del primer numero como 2^10 y el del segundo numero como 2^5, asumo que le quita el desplazamiento, pero no entiendo porque seria necesario si estoy operando sobre punto flotante. Supongo que unicamente deberian sumarse los exponentes (25 y 20 respectivamente) ¿Es necesario entonces a la hora de multiplicar quitar el desplazamiento?

(Editado por Belen Brandino - envío original sábado, 24 de septiembre de 2022, 01:39)

En respuesta a Rodrigo Alejandro Aguillon Stoletniy

Re: [2020][FEBRERO][PREGUNTA 3]

de Federico Rivero -
Hola Rodrigo!

Esa pregunta nos quedó planteada de forma un poco ambigua. Sospecho que originalmente pretendíamos que replicaran el algoritmo de multiplicación en punto flotante, pero por la forma en que la redactamos, basta con indicar el resultado de la multiplicación.

En el algoritmo de multiplicación de punto flotante, hay que sumar los exponentes, pero ambos están expresados en desplazamiento, por lo tanto hay que tener cuidado en la suma. Si al valor binario presente en los bits del exponente le llamamos E y llamamos 'exp' al exponente que representa, entonces:

exp1 = E1 + D
exp2 = E2 + D

Si sumamos alegremente, tenemos que exp1 + exp2 = E1 + E2 + D + D, lo cual tiene un D de más. Por lo tanto, tenemos que restar D al resultado de la suma para obtener el resultado expresado en desplazamiento.

Saludos,
Federico
En respuesta a Federico Rivero

Re: [2020][FEBRERO][PREGUNTA 3]

de Rodrigo Alejandro Aguillon Stoletniy -
Buenas, esta claro que le resta los exponentes, y luego deberia sumarlo uno para que me quede como la fórmula que indicas de exp1 + exp2 = E1 + E2 + D + D, y restándole un D me quedaria 2^30 en lugar de 2^15, como indica la sol.
Otra duda, ¿es necesario restar siempre el desplazamiento cuando me pasan un numero en punto flotante a la hora de sumar exponentes en una multiplicacion?
En respuesta a Rodrigo Alejandro Aguillon Stoletniy

Re: [2020][FEBRERO][PREGUNTA 3]

de Federico Rivero -
Voy por partes:

Buenas, esta claro que le resta los exponentes, y luego deberia sumarlo uno para que me quede como la fórmula que indicas de exp1 + exp2 = E1 + E2 + D + D, y restándole un D me quedaria 2^30 en lugar de 2^15, como indica la sol.

Por las dudas, aclaro. El resultado de la multiplicación es el que está indicado en la solución, con exp = 15. Si quisiéramos codificar ese resultado en punto flotante de media precisión, se debería calcular E y para eso habría que sumarle el desplazamiento, lo cual daría 30, sí.

Otra duda, ¿es necesario restar siempre el desplazamiento cuando me pasan un numero en punto flotante a la hora de sumar exponentes en una multiplicacion?

Si sumás dos números codificados en desplazamiento, tenés que restar D una vez para obtener el resultado de la suma codificado en desplazamiento, porque como mostré más arriba, el desplazamiento se suma dos veces.

Saludos,
Federico