web-dev-qa-db-ja.com

BigInteger乗算演算子の使用

*演算子はBigIntegerに適用できないため、BigInteger変数を乗算する方法があるかどうか疑問に思いました。

そのため、*演算子を使用せずに2つのBigIntegersを乗算できるかどうか疑問に思いました。

12
Steffan Harris

BigIntegersmultiply()メソッドを次のように使用します。

BigInteger int1 = new BigInteger("131224324234234234234313");
BigInteger int2 = new BigInteger("13345663456346435648234313");
BigInteger result =  int1.multiply(int2) 

BigIntegerは不変であることを少し前に指摘しておく必要があります。したがって、操作の結果はすべて変数に格納する必要があります。演算子またはオペランドは変更されません。

20
jjnguy

実装する簡単な方法:

int i = 5;
BigInteger bigInt = new BigInteger("12345678901");
BigInteger result = bigInt.multiply(BigInteger.valueOf(i))
4
waweru

BigIntegerでmultiply(BigInteger)メソッドを使用できます。そう:

BigInteger result = someBigInt.multiply(anotherBigInt);

BigInteger in Java API

1
swilliams

これらの特定の要因を乗算した結果

A:131224324234234234234313

B:13345663456346435648234313

これかもしれません(私は正しいと思います):

R:1751275668516575787795211751170772134115968581969

どちらも2つの正の整数と見なされます。そして、使用された技術はカラツバの方法でした

int ab =(mul1)* 10 ^ n +(mul3-mul1-mul2)* 10 ^ n/2 + mul2;

0
wolfran