Este puzzle consiste en un programa Java de apenas unas 10 líneas. No hace falta explicación, solo leer el código.
El programa es el siguiente:
public class NumerosBinarios{
private static final double FIN = 10.0;
public static void main(String args[]){
double cont = 0;
while(cont != FIN){
cont += 0.1;
}
System.out.println("FIN");
}
}
Muy simple... Si uno ejecuta este programa, nunca terminará... ¿por qué?
Acá va la versión en Python 3
FIN = 10.0
cont = 0
while cont != FIN:
cont += 0.1
print("FIN")
El valor del contador cuando llega a 10 es 10.09999999999998, porque ?
ResponderEliminarSe debe a que las computadoras representan sus números en forma binaria y a veces no es tan exacto como uno cree.
Eliminar