位运算

概览

符号 描述 运算规则
& 两位都为1时结果才为1
or 两位都为0时结果才为0
~ 取反 0变1,1变0
^ 亦或 两位相同为0,不同为1
<< 左移 乘以2
>> 右移 除以2

状态压缩

| 操作 | 实现 |
| ---- | ---- | ---- |
| 取出n在二进制下的第k位 | (n>>k)&1 |
| 把n在二进制下的第k位取反 | n xor (1<<k) |
| 把n在二进制下的第k位赋1 | n or (1<<K) |
| 把n在二进制下的第k位赋0 | n&(~(1<<k)) |
| 最后一位取反 | n xor 1 |

posted @ 2020-08-01 20:10  genshy  阅读(103)  评论(0编辑  收藏  举报