news 2026/4/12 18:05: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/4/5 1:12:17

Flutter 路由系统,对比 RN / Web / iOS 有什么本质不同?

网罗开发(小红书、快手、视频号同名)大家好,我是 展菲,目前在上市企业从事人工智能项目研发管理工作,平时热衷于分享各种编程领域的软硬技能知识以及前沿技术,包括iOS、前端、Harmony OS、Java、Python等方…

作者头像 李华
网站建设 2026/3/20 14:45:11

国内主流 AI 大模型全景解析:特性、落地与发展趋势

在人工智能技术爆发式发展的当下,大模型已成为驱动产业数字化转型的核心引擎。国内科技企业纷纷布局,推出了多款各具特色的大模型产品,覆盖从日常交互到行业深耕的多元场景。本文将全面盘点主流大模型的核心优势、应用场景,解析行…

作者头像 李华
网站建设 2026/4/12 14:53:44

HOPE架构深度解析:高阶多项式展开与MLP记忆新范式

HOPE架构深度解析: 高阶多项式展开与MLP记忆新范式 ——从Transformer的算力困境到线性架构的范式革命—— 技术专栏博客 2026年1月 目录 目录 第一部分:困境与突围——后Transformer时代的算力战争 1. Transformer架构的物理边界与理论缺陷 1.1 二次复杂度(Quadr…

作者头像 李华
网站建设 2026/4/7 18:07:06

AI应用架构师带你领略AI虚拟娱乐的场景化应用

从0到1构建AI虚拟娱乐帝国:架构师视角的场景化应用拆解 关键词 AI虚拟娱乐、场景化架构、数字人交互、生成式AI、实时渲染、多模态融合、元宇宙娱乐 摘要 当我们谈论AI与娱乐的结合时,你想到的是虚拟偶像的演唱会?还是能自动生成剧情的AI剧本杀?或是能陪你聊天的虚拟游…

作者头像 李华
网站建设 2026/4/4 13:24:08

Anaconda下载及安装保姆级教程(详细图文)

一、先导知识 Anaconda是一款开源的Python和R语言的发行版本,其主要目的是为数据科学、机器学习、大数据处理和科学计算提供一个集成的开发环境。Anaconda集成了大量常用的数据科学库和工具,并附带了强大的环境管理和包管理功能,使得Python环…

作者头像 李华