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多位,我怎样才能得到完整的数字?
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多位,我怎样才能得到完整的数字?
BigInteger应该可以帮助您进行计算。但恐怕你可以使用Math.pow(),因为它可能无法生成你想要的大数字。Math.pow将受到 double 范围的限制,因为方法签名对输入和返回输出都使用 double。您可能必须实现自己的 pow 方法,该方法应返回 BigInteger。
编辑:我刚刚检查了一下,发现java.math.BigInteger.pow(int exponent)将是你的朋友。
看看BigInteger。我会帮你的。