The following simple code in Java contains hardly 3 statements that returns unexpectedly false though it looks like that it should return true.
package temp;
final public class Main
{
    public static void main(String[] args)
    {        
        long temp = 2000000000;
        float f=temp;
        System.out.println(f<temp+50);
    }
}
The above code should obviously display true on the console but it doesn't. It displays false instead. Why?
 
     
    