4
I am starting studies in Java and have a task: generate two random integers and store their multiplication. For this, I tried to use long
and BigInteger
. But the result of this multiplication is almost always negative. Why?
int p = a.getN();
int q = b.getN();
BigInteger n = BigInteger.valueOf(p * q);
The method getN()
generates and returns a random value.
Output example for p
, q
and n
, respectively:
1274403499
1155563989
-664855737
(from what I understand, it should be 1472654790899997511
, that uses something around 61 bits)
only need to tidy the line 4: Biginteger N2 = Biginteger.valueOf(q);, is doing p 2. But the idea is correct and I managed to apply. Thank you :-)
– eightShirt
It’s true @eightShirt. Tidy.
– Maniero