Это стандартный вопрос IEEE 754. Я не совсем понимаю его механику.
public class Gray { public static void main(String[] args){ System.out.println( (float) (2000000000) == (float) (2000000000 + 50)); } }