检查64位BigInteger是否包含Java中的所有非零高32位?

问题描述:

任何人都知道如何做到这一点 -检查64位BigInteger是否包含Java中的所有非零高32位?

检查64位BigInteger是否包含Java中的所有非零高32位?

谢谢!

+0

'BigInteger.compareTo'? – vulkanino 2012-03-01 11:31:25

+0

您也可以使用http://docs.oracle.com/javase/6/docs/api/java/math/BigInteger.html#testBit(int)测试各个位, – Strelok 2012-03-01 11:33:37

如何:

private static final BigInteger MASK = BigInteger.valueOf(0xffffffff) 
               .shiftLeft(32); 

... 

public static boolean top32BitsSet(BigInteger value) { 
    return value.and(MASK).equals(MASK); 
}