Вот моя программа.
public class Foo
{
public static void main(String[] args)
{
System.out.println((int) 2147483648l);
System.out.println((int) 2147483648f);
}
}
Вот результат.
-2147483648
2147483647
Почему нет 2147483648l
и 2147483648f
типа приведения к одному и тому же целому числу? Можете ли вы объяснить, что здесь происходит, или какую концепцию в Java мне нужно понять, чтобы предсказать вывод подобных типов?