java中 long 和double都是64位。为什么double表示的范围大那么多呢

如题所述

double是n*2^m(n乘以2的m次方)这种形式存储的,只需要记录n和m两个数就行了,m的值影响范围大,所以表示的范围比long大。
但是m越大,n的精度就越小,所以double并不能把它所表示的范围里的所有数都能精确表示出来,而long就可以。
温馨提示:答案为网友推荐,仅供参考
相似回答