[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Un while() de perl



On jue, ago 03, 2000 at 01:37:07 +0200, Hue-Bond wrote:
>          Usando while  ($num <=  1.0) funciona  bien, por  lo que  se me
>      ocurre que  esta puede  ser una solución  barata para  el problema,
>      usar siempre <= e => en lugar de < y >.

Los "x = N", "x < N" o "x > N" suelen funcionar mal en este y cualquier
lenguaje de programación para números en coma flotante, Perl como dice Jaime
no es muy fino para coma flotante pero C si y tiene estos fallos, fallos 
producidos por la forma de realizar esta operación en los registros y en el 
almazenaje en memoria del computador de los números.

La solución a estas cosas suele ser la que tu comentas: ">=" o "<=". En caso
de comparaciones estrictas, es mejor realizarlas del modo: "x-N < P", donde P 
es la precisión requerida, elegida según el lenguaje usado ateniéndonos a lo 
qué debemos y no debemos hacer (tipos, rangos y otros "animales").

En la mayoría de los casos no nos preocuparán estas cosas pero cuando se
realizan cálculos en coma flotante en cascada el resultado puede ser
catastrófico, cuidado ahí. 

Saludos.
-- 
Javier Viñuales Gutiérrez <vigu@ctv.es>
Webs: 	http://www.ctv.es/USERS/vigu		Personal
	http://www.ctv.es/USERS/vigu/linux/	ViguLinux
PGP public key:  http://www.ctv.es/USERS/vigu/vigu.pubkey

Attachment: pgp4Tfc85tcFj.pgp
Description: PGP signature


Reply to: