我正在做一些大整数计算,我需要将一个 BigInteger 提高到另一个 BigInteger 的幂。 .pow() 方法执行我想要的操作,但采用 int 值作为参数。 .modPow 方法采用 BigInteger 作为参数,但我不希望答案与我尝试计算的值一致。
我的 BigInteger 指数太大而无法表示为 int,有人可以建议一种方法来解决此限制吗?
您不应该尝试用另一个极大数来计算一个极大数的幂。得到的数字将使用大量的内存。如果你计算a.pow(b)
它将有大约log(a)*b
数字。如果b
太大而无法放入整数,那么即使是非常小的值a
结果将有数十亿位数字。
尝试重新思考您想要实现的目标以及如何在不执行此操作的情况下实现它。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)