Skip to content
检查整数num的第i位(二进制表示)是否为1,是返回true,否则返回false
java

boolean getBit(int num, int i) {
  return ((num & (1 << i)) != 0)
}
将整数num的第i位置为1
java

int setBit(int num, int i) {
  return (num | (1 << i));
}
将整数num的第i位置为0
java

int clearBit(int num, int i) {
  return (num & ~(1 << i));
}
更新: 将整数 num 的第 i 位(二进制位)更新为值 v(v 为 0 或 1)
java

int updateBit(int num, int i, int v) {
    int mask = ~(1 << i);      // 步骤1:生成掩码
    return (num & mask) | (v << i); // 步骤2:清除旧位 + 设置新位
}