我如何操作非常大的数字?

时间:2015-05-20 16:31:32

标签: java

我怎么处理这个?

100 ^千亿

显示我将它除以10 ^ x并打印结果,但它总是打印int(long或wathever)的最大范围除以此10 ^ x,而不是实际结果。

谢谢。

Pd:如果可能的话请用Java。

1 个答案:

答案 0 :(得分:0)

您可以使用:BigInteger和BigDecimal类进行此类计算;

但是需要实现这么大功率数的功率算法。

这样的事情:

public static void main(String[] args) {
    System.out.println(pow("100","100000000000"));
}

private static BigInteger pow(String b, String p) {
    BigInteger toPow = new BigInteger(b);
    BigInteger pow = new BigInteger(p);
    while (pow.compareTo(BigInteger.ONE)!=0) {
        pow = pow.subtract(BigInteger.ONE);
        toPow = toPow.multiply(toPow);
    }
    return toPow;
}