概述
我试图找出与
Java 7 x64中的BigIntegers相关的以下问题.我试图计算一个极高功率的数字.代码如下,然后是问题描述.
import java.math.BigInteger;
public class main {
public static void main(String[] args) {
// Demo calculation; Desired calculation: BigInteger("4096").pow(800*600)
BigInteger images = new BigInteger("2").pow(15544);
System.out.println(
"The number of possible 16 bpc color 800x600 images is: "
+ images.toString());
}
}
我遇到打印此操作结果的问题.当此代码执行时,它会打印消息,但不会打印images.toString()的值.
为了隔离问题,我开始计算2的幂,而不是在该行的注释中列出的所需计算.在我测试过的两个系统上,2 ^ 15544是触发问题的最小计算; 2 ^ 15543工作正常.
我没有接近达到主机系统的内存限制,我不相信我甚至接近VM限制(无论如何运行VM参数-Xmx1024M -Xms1024M都没有效果).
在互联网上寻找答案之后,我开始怀疑我在BigInteger或String中遇到限制,这些限制与这些类型用于内部数据存储的数组的最大大小(Integer.MAX_VALUE)有关.如果问题出现在String中,我认为可以扩展BigInteger并编写一个一次喷出几个字符的打印方法,直到整个BigInteger被打印出来,但我宁愿怀疑问题出在其他地方.
感谢您抽出宝贵时间阅读我的问题.
最后
以上就是寂寞果汁为你收集整理的java biginteger 比较大小,java – 打印非常大的BigIntegers的全部内容,希望文章能够帮你解决java biginteger 比较大小,java – 打印非常大的BigIntegers所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复