获取某一位的值
获取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位取反
标签:位置,运算,多个,右数,基础,取反,指定,值置 From: https://www.cnblogs.com/xj22yangyichen/p/16947205.html