[C con Clase] duda

Felipe Alfaro Aguilar eltiopi en hotmail.com
Mie Mar 12 22:02:29 CET 2008


Hola
 
¿Alguien podria ayudarme a comprender porqué en la busqueda del ulp, aparentemente iguales, obtengo dos resultados distintos.
 
A) En la primera, escribo la secuencia
              int k;
              float ulp= 1.0 + pow(2,-k);   
              while (ulp>1.0) k=k+1;
Obtengo que la ultima vez que se cumple la condicion de while es para k=23, resultado que corresponde bien a una maquina de 32 bits para variables de tipo float.     
 
B) En la segunda opcion uso
             int k;
             float a=1.0, ulp=pow(2,-k);
             while (a+ulp>a) k=k+1;
Y aqui el ciclo termina con k=63.
 
Gracias por su atencion
_________________________________________________________________
Participa en nanometrajes y gana grandes premios
http://cine.prodigymsn.com/nanometraje
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://listas.conclase.net/pipermail/cconclase_listas.conclase.net/attachments/20080312/59fa5dc0/attachment.html>


Más información sobre la lista de distribución Cconclase