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

How can I calculate modulo of a large number in String format in java

我正在尝试计算字符串中 java 中的表达式 IE 99999999999999999^99999999999999999 我想计算这个数字模 1000000007。 我目前正在尝试将大数字存储为双精度,但对双精度取模给了我 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