eclipse计算2的64方和计算器计算的不一样
eclipse 计算 2的64次方
double sum1= 1;
for(int i=1;i<=64;i++){
sum1 = sum1*2;
}
System.out.printf("%f \n",sum1);
结果18446744073709552000.000000
用计算器计算 18446744073709551616
怎么回事 求解
------最佳解决方案--------------------double 一共才64位,还需要有几位来存储小数点后的内容。显然,这个超出它的范围了。
------其他解决方案--------------------这个应该使用 BigInteger了。double不精确,long越界