lowbit()
得到某个数的二进制最后一位1.
比如说某二进制为1010,lowbit输出为10,比如说某数为101000,那lowbit输出为1000.
具体实现是,x & (-x)
即x & (~x + 1)
作用:可以得到x中1的数量,具体实现是把最右边的1去掉。
判断某数二进制表示的第k位是0还是1
使用右移再与1x >> k & 1
2024-02-11 10:47:46
得到某个数的二进制最后一位1.
比如说某二进制为1010,lowbit输出为10,比如说某数为101000,那lowbit输出为1000.
具体实现是,x & (-x)
即x & (~x + 1)
作用:可以得到x中1的数量,具体实现是把最右边的1去掉。
使用右移再与1x >> k & 1
下一篇:学习笔记——进阶数据结构