Buenas!
La idea del ejercicio es que debas hacer la interpretación del número en punto flotante, podrías por ejemplo pasarlo a decimal o si te es más intuitivo, directo a punto fijo.
Ejemplos:
Número en punto flotante (1 bit de signo, 5 bits para el exponente y 10
bits para la mantisa ): s=0, e=Eh, f=801h
- Pasando por decimal en el medio:
Convierto el punto flotante a decimal:
- exp = 14 - 15 = -1
- número en decimal: 2^(-1) + 2^(-2) + 2^(-11) = 0.75048828125
--> De aquí en adelante, resta un pasaje de decimal a punto fijo "clásico" donde el cálculo de error es el ya conocido. Dado que en decimal podría utilizar la cantidad de dígitos que quiera porque es una representación de pasada simplemente, no estoy introduciendo error en esta representación (siempre y cuando no haga redondeo!).
- Directo a punto fijo (1 byte parte entera en complemento a 2 y 1 byte
parte fraccionaria.):
- Conociendo que el exponente es -1, la representación en punto fijo es tomar la representación en punto flotante y reasignar posiciones.
- En este caso, interpretando el número en punto flotante del ejemplo, tenemos que el mismo es: (1 , 1000 0000 01) * 2^(-1)
- De esto, pasar a punto fijo es desplazar hacia la derecha los dígitos una posición ( equivalente a multiplicar por 2^(-1) ) y quedarme con la cantidad de bits pedidos. De esto resulta: 0000 0000 , 1100 0000.
- Se pide la parte entera en complemento a 2, por lo que restaría hacer ese pasaje. (En este ejemplo la parte entera es cero, así que no agrega cambios.)
- Por último para evaluar el error puede verse que hay dígitos distintos de '0' en la representación en punto flotante, que no entraron en la representación en punto fijo. De aquí se obtiene que el error cometido en el pasaje, será la suma de los dígitos que quedaron por fuera de la representación en punto fijo: 2^(-11).
Espero haya aclarado algo con el ejemplo!!
Cualquier consulta a las órdenes,
saludos,
Manuel