如何处理超过3000位的数字?

时间:2013-07-06 13:09:02

标签: java numbers digits largenumber

int p=223;
int q=569;
int n=p*q;
double num=65;
double d=100877;
exp=Math.pow(num,d);
c=(exp)%n;
System.out.print(expo);
System.out.print("\n"+Math.pow(65, 100877));

输出: 2147483647 无穷大

但实际结果超过3000位,我怎样才能得到完整的数字?

2 个答案:

答案 0 :(得分:6)

BigInteger应该可以帮助您进行计算。但我担心你可以使用Math.pow(),因为它可能无法按你的意愿生成大数字。 Math.pow将受double范围的限制,因为方法签名对输入和返回输出都使用double。您可能必须实现自己的pow方法,该方法应返回BigInteger。

修改:我刚检查过,发现java.math.BigInteger.pow(int exponent)将是您的朋友。

答案 1 :(得分:1)

看看BigInteger。它会有所帮助。