如果我想编写从 float 转换为 double 的方法。
有没有任何情况下两者会给出不同的结果?
如果我不关心平台一致性,我应该使用哪个版本?
如果我需要它在不同平台上表现一致怎么办?
double f2d(float x) {
return (double) x;
}
或者:
strictfp double f2d(float x) {
return (double) x;
}
JLS 5.1.2:
从 float 到 double 的扩展原始转换不是 strictfp 可能会丢失有关转换值的整体大小的信息。
为什么此转换会丢失信息?