🎉 欢迎访问本站,如有问题欢迎 留言
java double 精度范围

java double 精度范围

  • float:2^23 = 8388608,一共七位,由于最左为1的一位省略了,这意味着最多能表示8位数: 2*8388608 = 16777216 。有8位有效数字,但绝对能保证的为7位,也即float的精度为7~8位有效数字;
  • double:2^52 = 4503599627370496,一共16位,同理,double的精度为16~17位。 之所以不能用f1==f2来判断两个数相等,是因为虽然f1和f2在可能是两个不同的数字,但是受到浮点数表示精度的限制,有可能会错误的判断两个数相等!

http://blog.csdn.net/zq602316498/article/details/41148063