Может ли каждое возможное значение переменной 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).
Редактировать : оригинальная формулировка вопроса вводила в заблуждение (указывалось два способа, один из которых отвечал бы «нет», другой отвечал бы «да» для того же ответа). Я переписал его так, чтобы он соответствовал названию вопроса.