Если я хочу написать метод, конвертирующий число с плавающей точкой в двойное.
Есть ли случаи, когда эти два результата дадут другой результат?
Какую версию я должен использовать, если мне все равноо согласованности платформы?
Что если мне нужно, чтобы она работала согласованно на разных платформах?
double f2d(float x) {
return (double) x;
}
или:
strictfp double f2d(float x) {
return (double) x;
}
JLS 5.1.2:
Расширяющееся примитивное преобразование из числа с плавающей запятой, которое не является строгим, может потерять информацию об общей величине преобразованного значения.
почему это преобразование потеряет информацию?