基础位运算

获取某一位的值

获取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位取反

posted @ 2022-12-03 11:15  xj22yangyichen  阅读(23)  评论(0)    收藏  举报