Java 如何创建非常大的BigInteger
我需要加两个非常大的整数Java 如何创建非常大的BigInteger,java,biginteger,Java,Biginteger,我需要加两个非常大的整数 46376937677490009712648124896970078050417018260538 + 37107287533902102798797998220837590246510135740250; 这个怎么了 BigInteger f = 37107287533902102798797998220837590246510135740250; 如何使用biginger在Java中解决这个问题?您需要从字符串而不是数字文本构造biginger,因为这无法
46376937677490009712648124896970078050417018260538
+ 37107287533902102798797998220837590246510135740250;
这个怎么了
BigInteger f = 37107287533902102798797998220837590246510135740250;
如何使用
biginger
在Java中解决这个问题?您需要从字符串而不是数字文本构造biginger,因为这无法工作,因为它首先转换为int。这里的问题是3710…
将被解释为int
,因此它将超出范围。基本上,您要做的是创建一个int
,然后将其转换为biginger
,第一步将失败,因为int
不能存储那么大的数字
您需要使用接受字符串的构造函数
:
BigInteger f = new BigInteger("37107287533902102798797998220837590246510135740250");
当然,对于你的另一个biginger
,也同样如此。试试:
BigInteger的对象需要使用new运算符创建,并且您正试图将数字直接指定为BigInteger,这不是有效的语句。您可以将该数字作为字符串传递给BigInteger的构造函数,如上所述。Java没有对
BigInteger
文本的内置支持-您无法编写以下内容:
BigInteger f = 37107287533902102798797998220837590246510135740250;
使用biginger
的构造函数,该构造函数采用字符串
:
BigInteger f = new BigInteger("37107287533902102798797998220837590246510135740250");
要添加两个biginger
对象:
BigInteger f = new BigInteger("37107287533902102798797998220837590246510135740250");
BigInteger g = new BigInteger("46376937677490009712648124896970078050417018260538");
BigInteger sum = f.add(g);
你应该把这句话写成
BigInteger f = new BigInteger("37107287533902102798797998220837590246510135740250");
BigInteger g = new BigInteger("46376937677490009712648124896970078050417018260538");
现在,作为补充
BigInteger sum = f.add(g);
乘法
BigInteger product = f.multiply(g);
等等
与其他变量类型不同,对于大整数,不能使用
+
、-
、*
、/
运算符。您需要为每个操作使用方法。为什么您认为这样做应该有效?它显示了什么错误消息?
BigInteger product = f.multiply(g);