乘以BigInt

Geo*_*iuc 0 java bigint

int SIZE = 512;        
p = new BigInteger(SIZE, 15, new Random());
q = new BigInteger(SIZE, 15, new Random());
r = new BigInteger(SIZE, 15, new Random());

n = p.multiply(q);
temp1=n;
n = n.multiply(r);
   if (temp1.multiply(r)!=n) System.out.println("test");
Run Code Online (Sandbox Code Playgroud)

我的代码在这里test不应该打印.为什么?

Men*_*ena 5

您必须使用equals比较对象相等性.

!===比较参考文献.

BigInteger b0 = new BigInteger("0");
BigInteger b1 = new BigInteger("0");
System.out.println(b0 != b1);
System.out.println(!b0.equals(b1));
Run Code Online (Sandbox Code Playgroud)

产量

true
false
Run Code Online (Sandbox Code Playgroud)