浮点数特点

1.证明int类型的数值范围比float类型小,int类型数据表示的精度比float大

    System.out.println("证明int类型的数值范围比float类型小,int类型数据表示的精度比float大");
    int a=0x7fffffff;//int类型最大值
    int b=0x7ffffff0;//比a小15
    float fa=a;
    float fb=b;
    System.out.println("a:"+a+"\rb:"+b);
    System.out.println("fa:"+fa+"\rfb:"+fb);
    System.out.println(a==b);//false  int 类型的值相比,a>b
    System.out.println(fa==fb);//true ,float 类型却相等
    //结论:浮点数没有int精确(尾数),浮点数范围比int大(指数)
    //int类型的范围:2^31-1
    //float类型的范围:2^256

2.证明double类型数值范围比float更大,也更精确

    double da=a;
    double db=b;
    System.out.println("证明double类型数值范围比float更大,也更精确");
    System.out.println("da:"+da+"\rdb:"+db);
    System.out.println(da==db);//false
    System.out.println(da-db);//15.0

3.    double精度比int精确,但是不如long;double的范围远远大于long;浮点数的精确度过低,一般很少使用,一般我们使用double

posted @ 2013-11-13 14:47  X.Y  阅读(447)  评论(0编辑  收藏  举报