BigInteger 上的二進位制邏輯運算
BigInteger 也支援 Number
型別可用的二進位制邏輯運算。與所有操作一樣,它們通過呼叫方法來實現。
二進位制或:
BigInteger val1 = new BigInteger("10");
BigInteger val2 = new BigInteger("9");
val1.or(val2);
輸出:11(相當於
10 | 9
)
二進位制和:
BigInteger val1 = new BigInteger("10");
BigInteger val2 = new BigInteger("9");
val1.and(val2);
輸出:8(相當於
10 & 9
)
二進位制 Xor:
BigInteger val1 = new BigInteger("10");
BigInteger val2 = new BigInteger("9");
val1.xor(val2);
輸出:3(相當於
10 ^ 9
)
RightShift:
BigInteger val1 = new BigInteger("10");
val1.shiftRight(1); // the argument be an Integer
輸出:5(相當於
10 >> 1
)
左移:
BigInteger val1 = new BigInteger("10");
val1.shiftLeft(1); // here parameter should be Integer
輸出:20(相當於
10 << 1
)
二進位制反轉(非):
BigInteger val1 = new BigInteger("10");
val1.not();
輸出:5
NAND(和非): *
BigInteger val1 = new BigInteger("10");
BigInteger val2 = new BigInteger("9");
val1.andNot(val2);
輸出:7