Может ли любое возможное значение переменной float
быть представлено точно в переменной double
?
Другими словами, для всех возможных значений X
будет выполнено следующее:
float f1 = X;
double d = f1;
float f2 = (float)d;
if(f1 == f2)
System.out.println("Success!");
else
System.out.println("Failure!");
Мое подозрение в том, что исключение не существует, или если оно есть только для случая с краем (например, +/- бесконечность или NaN).
Изменить. Исходная формулировка вопроса была путаной (было указано два пути: на один из них ответят "нет", на другой ответ будет "да" за тот же ответ). Я переформулировал его так, чтобы он соответствовал названию вопроса.