java - 如何在java中计算字符串格式的大数模

标签 java math biginteger bigdecimal exponent

我正在尝试计算字符串中的 java 表达式 IE 99999999999999999^9999999999999999 我想计算这个数字模 1000000007。 我目前正在尝试将大数字存储为 double ,但对 double 取模得到 NaN。 有人可以帮忙吗?

最佳答案

您可以使用 BigIntegermodPow(BigInteger, BigInteger)喜欢

BigInteger m = new BigInteger("1000000007");
BigInteger a = new BigInteger("99999999999999999");
BigInteger b = new BigInteger("99999999999999999");
BigInteger answer = a.modPow(b, m);
System.out.println(answer);

给出

265859324

关于java - 如何在java中计算字符串格式的大数模,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39758736/

相关文章:

javascript - 矩形正在翻转和旋转。我只是想让它绕一圈旋转

java - 尝试创建一个构造函数,该构造函数将使用参数中给出的数字初始化 'number' 并设置长度

java - 如何在 Java 中对大数进行 mod (10^9+7)

java - 创建一个新对象以避免空指针异常是否正确?

java - 比较 Java 中的 2 个字符串是否有分隔符

java - 初始化后更改 TableView 中文本的字体

javascript - 显示 JavaScript 数学结果

java - 如何获取枚举的可能项目数?

c - 在 C 中,如何计算 unsigned long 的模数?

Java 大整数