[Práctico 2] Pregunta teórica c)

[Práctico 2] Pregunta teórica c)

de Sebastian Daloia Servetti -
Número de respuestas: 6

En esta pregunta entiendo que la cota superior para el error de representación, por ejemplo del intervalo [0,1] o [2,4] es buscar cual es la diferencia entre 4 y el antecesor más próximo representable.

Es decir 4_{(10)}=100_{(2)}  \rightarrow  1*2^2 en punto flotante  1.00*2^{2 + 127 = 129}

luego el número anterior en la representación es  0.11111111111111111111111*2^2 si resto la representación del cuatro menos su antecesor obtengo la diferencia  0.00000000000000000000001*2^2=1*2^{-21} , y así con los demás intervalos

Quisiera saber si está bien este razonamiento,

Gracias!

En respuesta a Sebastian Daloia Servetti

Re: [Práctico 2] Pregunta teórica c)

de Federico Rivero -

Estimado:

La idea está bien. Lo único que ese caso en particular no te sirve porque el número 4 y su antecesor en PF tienen diferente exponente (4 decimal se escribe 1.000...0 * 2^2 y su antecesor es 1.1111111...11111 * 2^1), en ese sentido, están mal expresados los intervalos en la letra, sería [2,4). 

Si tomás dos números cualquiera del mismo intervalo de exponente todo lo demás que planteaste es correcto!

Saludos,

     Federico

En respuesta a Federico Rivero

Re: [Práctico 2] Pregunta teórica c)

de Alexis Alfonso -

Razonando de la misma manera para el intervalo [0,1], puedo tomar el 0.5 = 0.1 x 2^0

y restarle su antecesor 0.0111 x 2^0 para llegar a que la cota superior para el error es 0.0001 = 1x2^-4 ?


En respuesta a Alexis Alfonso

Re: [Práctico 2] Pregunta teórica c)

de Federico Rivero -

Estimado:

Algo que ahora veo no corregí en su momento, es que los números los tenés que expresar en formato punto flotante normalizado (ver que usé la notación 1.11111...111 * 2^1  en lugar de 0.11111...111 * 2^2 .

De ese modo, el 0.5 se expresa como 1.0 * 2^-1, y es el punto flotante más chico que se obtiene con el exponente -1, el siguiente serìa: 1.000...00001 * 2^-1 , con 22 ceros (porque la mantisa en simple precisión tiene 23 bits. Por esta razón, el error está acotado por la diferencia:   1.000...00001 * 2^-1  - 1.0 * 2^-1 = 0.000...00001 * 2^-1 .

En tu caso, aparte de lo que indiqué, es incorrecto el antecesor.

Saludos, 

           Federico



En respuesta a Federico Rivero

Re: [Práctico 2] Pregunta teórica c)

de Juan Ignacio Sanchez Sampayo -

Hola, ¿cómo puedo asegurar que no hay un error mayor entre algún par dentro del intervalo?

¿por qué debo tomar el mayor del intervalo y su antecesor? no me queda muy clara esta parte.


[edit] o sea, tampoco puedo tomar 1 y su antecesor, porque sería cambiarle el exponente. En este caso debo tomar desnormalizados? [/edit]


Saludos

En respuesta a Juan Ignacio Sanchez Sampayo

Re: [Práctico 2] Pregunta teórica c)

de Federico Rivero -

Hola!

¿cómo puedo asegurar que no hay un error mayor entre algún par dentro del intervalo?

Hay que ver primero que como la mantisa es de la forma 1.F, la mantisa toma valores entre 1.000...0000 = 1 y 1.11111....111 que es casi 2. Por lo tanto, una vez fijo el exponente E, al variar la mantisa los números siempre están en el intervalo [ 2^E, 2^E+1 )

Y esos números distan lo mismo entre ellos, exactamente 2^E * 1.0000...000001, por lo tanto el error es constante en el intervalo. 

¿por qué debo tomar el mayor del intervalo y su antecesor? no me queda muy clara esta parte.

No es necesario, con tomar dos cualesquiera del intervalo, ya está (ver punto anterior)

Saludos,

       Federico