正确理解 lowbit

公式:lowbit(x) = x & (-x)

前置知识:

-x = ~x + 1(补码 = 反码 + 1)

ps: u 和 v 互为反码,为任意 0 或 -1

bash 复制代码
x		uuuuuuuuuuuuuuuu10000
~x		vvvvvvvvvvvvvvvv01111
~x+1	vvvvvvvvvvvvvvvv10000
-x		vvvvvvvvvvvvvvvv10000

x&(-x)	000000000000000010000
相关推荐
chenziang125 分钟前
leetcode hot 全部子集
算法·leetcode·职场和发展
EdwardYange25 分钟前
LeetCode 83 :删除排链表中的重复元素
数据结构·算法·leetcode·链表
nuyoah♂26 分钟前
DAY37|动态规划Part05|完全背包理论基础、LeetCode:518. 零钱兑换 II、377. 组合总和 Ⅳ、70. 爬楼梯 (进阶)
算法·leetcode·动态规划
编程探索者小陈33 分钟前
【优先算法】专题——二分查找算法
算法
清岚_lxn39 分钟前
es6 字符串每隔几个中间插入一个逗号
前端·javascript·算法
chenziang11 小时前
leetcode hot 100 全排列
算法·leetcode·职场和发展
lili-felicity1 小时前
指针与数组:深入C语言的内存操作艺术
c语言·开发语言·数据结构·算法·青少年编程·c#
PengFly1231 小时前
题解:[ABC294G] Distance Queries on a Tree
算法·lca·树状数组·dfs序
月亮邮递使light1 小时前
代码随想录算法训练营第五十八天 | 拓扑排序精讲 dijkstra(朴素版)精讲
算法
野風_199602011 小时前
代码随想录第59天
算法