使用BigInteger Multiply运算符
我想知道是否有办法将BigInteger
变量相乘,因为*
运算符不能应用于BigInteger
。
所以我想知道是否可以在不使用*
运算符的情况下将两个BigIntegers
相乘。
您使用BigInteger
的 multiply()
方法,如下所示:
BigInteger int1 = new BigInteger("131224324234234234234313"); BigInteger int2 = new BigInteger("13345663456346435648234313"); BigInteger result = int1.multiply(int2)
我应该在不久前指出BigInteger
是不可变的。 因此,操作的任何结果都必须存储到变量中。 操作符或操作数永远不会更改。
更容易实施的方式:
int i = 5; BigInteger bigInt = new BigInteger("12345678901"); BigInteger result = bigInt.multiply(BigInteger.valueOf(i))
您可以在BigInteger中使用multiply(BigInteger)方法。 所以:
BigInteger result = someBigInt.multiply(anotherBigInt);
Java API中的BigInteger
结果乘以这些特定因素
答:131224324234234234234313
B:13345663456346435648234313
可能是这个(我希望我是对的):
R:1751275668516575787795211751170772134115968581969
两者都被认为是两个正整数。 使用的技术是Karatsuba的方法
int ab =(mul1)* 10 ^ n +(mul3-mul1-mul2)* 10 ^ n / 2 + mul2;