Java 如何计算数学功率(10,n),n>=10000
如何计算Math.pow(10,n),n>=10000 我的程序总是打印:Java 如何计算数学功率(10,n),n>=10000,java,Java,如何计算Math.pow(10,n),n>=10000 我的程序总是打印:Infinity,我认为数据类型中存在问题:double 下面是我的代码: public static void main(String[] args){ double result = Math.pow(10, 10000); System.out.print(result); } 我们可以尝试使用,因为BigDecimal具有任意长度,仅受内存限制: BigDecimal a = new BigDec
Infinity
,我认为数据类型中存在问题:double
下面是我的代码:
public static void main(String[] args){
double result = Math.pow(10, 10000);
System.out.print(result);
}
我们可以尝试使用,因为BigDecimal
具有任意长度,仅受内存限制:
BigDecimal a = new BigDecimal("10");
System.out.println(a.pow(10000).toString());
这将打印出
1
,后跟10K个零。双精度的指数约为+-1023,因此“无穷大”是正确答案@标记空间是二进制指数,最大十进制指数是~+/-308。哦,你说得对。太晚了,抱歉把事情搞砸了@MarkRotterVeel10^10000可以作为BigDecimal.TEN.pow(10000)
和BigDecimal.ONE.movePointRight(10000)
,以及新的BigDecimal(“1e10000”)
。虽然所有3个都有相同的数值(compareTo
返回0),但前两个将打印一个1
,后跟10000个零,而第三个将打印1e10000
,并且不等于前两个。--也可以按biginger.TEN.pow(10000)