就是long的取值范为与float为什么区别那么大,请祥解谢谢/

解决方案 »

  1.   

    int对应float
    long 对应double
      

  2.   

    float使用ieee754格式存储。只有24位精度,两个float之间的距离可能很大。
    举个简单的例子,2000000000和2000000050用float表示的话这两个数是相同的 。
    整数是精确表示的。
      

  3.   

    long的取值范围-9223372036854775808---9223372036854775807   
      float的取值范围-1.4*10^(-45)----3.4*10^38
     float可以表示long,但是会失去精度,比如   
      10000000043242   
      后面的数字当然是被忽略。
      

  4.   

    这是java语言设计时的问题了。我们只要能区别用就可以了。与硬件有也有关系的。float用ieee754格式。只有24位精度,两个float之间的距离可能很大。