【问题标题】:How to handle numbers with more than 3000 digits?如何处理超过 3000 位的数字?
【发布时间】:2013-07-06 13:09:02
【问题描述】:
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多位,我怎样才能得到完整的数字?

【问题讨论】:

    标签: java numbers digits largenumber


    【解决方案1】:

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

    编辑:我刚查了一下,发现java.math.BigInteger.pow(int exponent)会是你的朋友。

    【讨论】:

    • @Divers mod?是powmod不回电。
    【解决方案2】:

    看看BigInteger。会有帮助的。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2019-02-20
      • 1970-01-01
      • 2023-01-25
      • 1970-01-01
      • 2021-12-31
      相关资源
      最近更新 更多