news 2026/5/30 15:40:48

DeepSeek总结的`n1 ^ (n2 -n2)`位操作的含义

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
DeepSeek总结的`n1 ^ (n2 -n2)`位操作的含义

位操作(n1 ^ (n2 & -n2))的结果是什么?

我们来一步步分析n1 ^ (n2 & -n2)这个表达式。

1. 理解n2 & -n2

这是位操作中一个经典的技巧,用于获取数字的最低有效位(Lowest Set Bit, LSB)

原理:

  • -n2在二进制补码中等于~n2 + 1
  • n2 & -n2的结果会保留 n2 的最右边的 1,其他位都变为 0

示例:

n2 = 12 (二进制: 1100) -n2 = -12 (二进制补码: ...11110100) n2 & -n2 = 4 (二进制: 0100) ↑ 只保留了最右边的1

2. 理解完整的表达式n1 ^ (n2 & -n2)

作用:

  • n2 & -n2得到一个只有一位是1的数字(即n2的最低有效位)
  • 然后将这个结果与n1进行异或(XOR)操作

异或的特性:

  • 异或是按位操作0^0=0,0^1=1,1^0=1,1^1=0
  • 与一个只有一位是1的数异或,相当于翻转n1的对应位

3. 实际效果

假设n2 & -n2 = mask(mask只有一位是1,其他都是0),那么:

n1 ^ mask = 将n1在mask为1的那一位进行翻转

具体例子:

n1=13# 二进制: 1101n2=12# 二进制: 1100# 计算过程:n2&-n2=12&-12=1100&0100(假设8位:-12=11110100)=0100=4n1^(n2&-n2)=13^4=1101^0100=1001=9

结果:1101变成了1001翻转了从右往左数第3位(0-based索引为2)

4. 应用场景

这个操作在树状数组(Fenwick Tree)等数据结构中很常见:

# 在树状数组中更新下一个索引defnext_index(i):returni+(i&-i)# 在树状数组中查询前一个索引defprev_index(i):returni-(i&-i)

5. 总结

n1 ^ (n2 & -n2)的结果是:

  1. 先提取n2的最低有效位(得到一个只有一位是1的数)
  2. n1在对应位上翻转(0变1或1变0)
  3. 其他位保持不变

最终效果:将n1在n2最低有效位对应的位置上进行位翻转。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/5/30 7:41:33

Java毕设项目推荐-基于springboot+vue的甜品店(烘焙)管理系统基于SpringBoot+Vue的甜品店管理系统设计与实现【附源码+文档,调试定制服务】

博主介绍:✌️码农一枚 ,专注于大学生项目实战开发、讲解和毕业🚢文撰写修改等。全栈领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战 ✌️技术范围:&am…

作者头像 李华
网站建设 2026/5/20 13:47:49

大数据领域数据交易的发展瓶颈与突破路径

大数据领域数据交易的发展瓶颈与突破路径 关键词:数据交易、数据要素、隐私计算、数据确权、数据合规 摘要:数据作为“数字时代的石油”,正在成为驱动经济发展的核心生产要素。但当前数据交易市场仍面临“有数据不敢卖、有需求买不到、交易后…

作者头像 李华
网站建设 2026/5/29 16:21:10

LeetCode 388 文件的最长绝对路径

文章目录 摘要描述题解答案题解代码分析1. 字符串分割2. 使用栈维护路径3. 计算层级4. 处理路径栈5. 计算当前路径长度6. 判断文件和目录7. 完整执行流程示例 示例测试及结果示例 1:input "dir\n\tsubdir1\n\tsubdir2\n\t\tfile.ext"示例 2:i…

作者头像 李华
网站建设 2026/5/24 7:38:13

Python+django健康生活助手活动报名微信小程序的可视化

文章目录 健康生活助手微信小程序的可视化摘要实现后端开发(Django部分)微信小程序前端可视化数据处理部署与优化 系统设计与实现的思路主要技术与实现手段源码lw获取/同行可拿货,招校园代理 :文章底部获取博主联系方式! 健康生活…

作者头像 李华
网站建设 2026/5/24 23:43:37

0x3f 第47天 复习 9:24-10:24

岛屿数量思考组合总和思考组合总和Ⅲ思考N皇后思考单词搜索思考搜索旋转楼梯思考有效的括号ac搜索二维矩阵思考LRU缓存的一半xacxO(1)取最小元素的栈acac思考字符串解码acac思考每日温度acacac柱状图最大矩形面积acacac数组中第K大的元素xTOPK高频元素ac

作者头像 李华