您将使用什么方法来确定表示 2^x 的位是 1 还是 0?
我会使用:
if ((value & (1L << x)) != 0) { // The bit was set }
(你也许可以用更少的括号来逃脱,但我从来不记得按位运算的优先级。
另一种选择:
if (BigInteger.valueOf(value).testBit(x)) { // ... }