检查64位BigInteger是否包含Java中的所有非零高32位?
答
如何:
private static final BigInteger MASK = BigInteger.valueOf(0xffffffff)
.shiftLeft(32);
...
public static boolean top32BitsSet(BigInteger value) {
return value.and(MASK).equals(MASK);
}
'BigInteger.compareTo'? – vulkanino 2012-03-01 11:31:25
您也可以使用http://docs.oracle.com/javase/6/docs/api/java/math/BigInteger.html#testBit(int)测试各个位, – Strelok 2012-03-01 11:33:37