*
演算子はBigInteger
に適用できないため、BigInteger
変数を乗算する方法があるかどうか疑問に思いました。
そのため、*
演算子を使用せずに2つのBigIntegers
を乗算できるかどうか疑問に思いました。
BigInteger
smultiply()
メソッドを次のように使用します。
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);
これらの特定の要因を乗算した結果
A:131224324234234234234313
B:13345663456346435648234313
これかもしれません(私は正しいと思います):
R:1751275668516575787795211751170772134115968581969
どちらも2つの正の整数と見なされます。そして、使用された技術はカラツバの方法でした
int ab =(mul1)* 10 ^ n +(mul3-mul1-mul2)* 10 ^ n/2 + mul2;