本帖最后由 田旭阳 于 2012-9-17 16:26 编辑
public class FirstSample
{
public static void main(String[] args)
{
float xx = (2.0F-1.1F);
double yy = (2.0-1.1);
System.out.println(xx+" "+yy);
System.out.println(xx<0 ? yy : xx);
}
}
为什么xx和yy值不一样?
xx值后面不会带有多个9?
第二个输出的xx值为什么会变了?
Java中float和double的取值范围该怎样理解?
float(浮点型)大小(位):32它的范围是:-3.40292347E+38~~3.40292347E+38 默认值是: 0.0F
double(双精度)大小(位):64 它的范围是: -
1.79769313486231570E+308~~1.79769313486231570E+308 默认值是:0.0d
3.40292347E+38的取值范围该怎样理解,“3.40292347”,“E”,“+38”各
表示什么意思,查了很多网上关于IEEE 754的介绍,却没有找到合适的说明 |