java - Java Biginteger 在 pow 中的最大值

标签 java biginteger pow exponent

我有代码可以从给定的输入中获取指数值:

BigInteger a= new BigInteger(2,10);       
BigInteger b; 
b=a.pow(9999999999);

当值低于 7 位时才起作用。例如:

BigInteger a= new BigInteger(2,10);       
BigInteger b; 
b=a.pow(1234567);

我的代码可以实现指数中包含 10 位数字吗?

我使用的是 JDK 1.8。

最佳答案

BigInteger.pow()仅适用于 int 参数,因此您不能一次获取大于 Integer.MAX_VALUE 的幂。

如果你能做到的话,这些数字也会难以置信地大(就像“快速接近并通过可观测宇宙中的粒子数量)”,但这种做法的用途很少。

请注意,密码学中经常使用的“幂取模”运算是使用 BigInteger.modPow() 实现的。其中确实采用BigInteger参数,因此可以有效地处理任意大的值。

关于java - Java Biginteger 在 pow 中的最大值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58180872/

相关文章:

c++ - 我如何检查 std::pow 是否会溢出 double

java - 想要在我的 Android 应用程序中显示密码切换/可见按钮

java - 从JAVA邮件发送到IMAP邮箱时附件文件名发生变化

java - hibernate 回调

javascript - javascript 中的非常大的数字

java - BigInteger 加法总是 0

java - 是否有最新的 Facebook Java SDK?

r - 通过 R 从 BigQuery 查询数据时,有没有办法将大整数转换为字符串?

C++ pow函数-无效结果?

javascript pow 参数 - Armstrong Numbers