每个浮点数都可以精确地表示为双精度值吗?
2022-09-02 11:54:51
变量的每个可能值都可以在变量中精确表示吗?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)。
编辑:问题的原始措辞令人困惑(陈述两种方式,一种方式将回答“否”,另一种方式将回答“是”以获得相同的答案)。我重新措辞,使其与问题标题相匹配。