Каждый раз, когда я думаю, что понимаю, что касается кастингов и конверсий, я нахожу еще странное поведение.
long l = 123456789L;
float f = l;
System.out.println(f); // outputs 1.23456792E8
Учитывая, что a long
имеет большую глубину бит, чем a float
, я ожидаю, что для его компиляции потребуется явное преобразование. И неудивительно, что мы видим, что мы потеряли точность результата.
Почему актер не требуется здесь?