news 2026/6/10 4:29:03

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/6/2 17:42:09

Java毕设选题推荐:基于web甜品店管理系统基于SpringBoot+Vue的甜品店管理系统设计与实现【附源码、mysql、文档、调试+代码讲解+全bao等】

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

作者头像 李华
网站建设 2026/6/10 11:29:58

C语言中嵌套捕获异常

在C中我们可以使用try/catch来捕获异常,但是C语言中没有这样的关键字,只有setjmp和longjmp函数,它们的常规用法是先设置信号捕获函数,再调用setjmp,在信号捕获函数中调用longjmp,如果出现异常则会跳到setjm…

作者头像 李华
网站建设 2026/6/10 15:05:56

【毕业设计】基于MyBatis的在线车辆租赁信息管理系统的设计与实现(源码+文档+远程调试,全bao定制等)

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

作者头像 李华
网站建设 2026/6/10 11:30:16

达沃斯论坛警告:AI对就业冲击超预期

人工智能对劳动力市场的冲击比此前预期更加严重,初级职位大幅减少,白领工作面临威胁,世界经济论坛(WEF)与会者上周表示。"我们预计未来几年,在发达经济体中,60%的工作将受到AI影响——要么被增强、要么被淘汰或改…

作者头像 李华
网站建设 2026/6/10 13:45:53

数字化转型关键一步:商贸物流软件的核心功能与应用场景

数字化转型关键一步:商贸物流软件的核心功能与应用场景在商贸物流行业数字化浪潮下,越来越多企业意识到:转型不是“全面颠覆”,而是找到适配自身的关键抓手。很多企业盲目投入数字化建设,却因软件功能与业务脱节、场景…

作者头像 李华