正确理解 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
相关推荐
invincible_Tang14 分钟前
R格式 (15届B) 高精度
开发语言·算法·r语言
独好紫罗兰1 小时前
洛谷题单2-P5715 【深基3.例8】三位数排序-python-流程图重构
开发语言·python·算法
序属秋秋秋1 小时前
算法基础_基础算法【高精度 + 前缀和 + 差分 + 双指针】
c语言·c++·学习·算法
玉树临风ives1 小时前
leetcode 2360 图中最长的环 题解
算法·leetcode·深度优先·图论
KeithTsui2 小时前
GCC RISCV 后端 -- 控制流(Control Flow)的一些理解
linux·c语言·开发语言·c++·算法
mNinGInG2 小时前
c++练习
开发语言·c++·算法
纪元A梦3 小时前
分布式锁算法——基于ZooKeeper的分布式锁全面解析
java·分布式·算法·zookeeper
Panesle3 小时前
广告推荐算法:COSMO算法与A9算法的对比
人工智能·算法·机器学习·推荐算法·广告推荐
月亮被咬碎成星星3 小时前
LeetCode[15]三数之和
数据结构·算法·leetcode
半盏茶香4 小时前
启幕数据结构算法雅航新章,穿梭C++梦幻领域的探索之旅——堆的应用之堆排、Top-K问题
java·开发语言·数据结构·c++·python·算法·链表