基础位运算
获取某一位的值
获取x右数第i位的值
x & (1 << (i - 1))
若结果为0,则第i位的值为0;否则第i位的值为1
把一个或多个位的值置0
把x右数第i位置0
x & (~(1 << (i - 1))
指定多个位置置0,例如
x & (~(3 << 2))
实现了将x的右数第3位和第4位置0(因为3 << 2的值为\(1100_{(2)}\))
把一个或多个位的值置1
把x右数第i位置1
x | (1 << (i - 1))
指定多个位置置1,例如
x | (3 << 2)
实现了将x的右数第3位和第4位置1
把一个或多个固定位的值取反
把x右数第i位取反
x ^ (1 << (i - 1))
指定多个位置置0,例如
x ^ (3 << 2)
实现了将x的右数第3位和第4位取反

浙公网安备 33010602011771号