Números binarios

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")

2 comentarios:

  1. El valor del contador cuando llega a 10 es 10.09999999999998, porque ?

    ResponderEliminar
    Respuestas
    1. Se debe a que las computadoras representan sus números en forma binaria y a veces no es tan exacto como uno cree.

      Eliminar