Проверьте, содержит ли 64-битный BigInteger все ненулевые старшие 32 бита в Java? - PullRequest
0 голосов
/ 01 марта 2012

Кто-нибудь знает, как это сделать -

Проверить, содержит ли 64-битный BigInteger все ненулевые старшие 32 бита в Java?

Спасибо!

1 Ответ

6 голосов
/ 01 марта 2012

Как насчет:

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

...

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