news 2026/4/23 12:15:14

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/21 2:16:00

小白也能秒懂的AI知识库构建指南,让你的大模型不再“翻车“

一、 什么是 AI 知识库?它在 RAG 中扮演什么角色? 通俗理解:给大模型配一个“实时图书馆” 如果把大模型比作一个参加考试的学生,那么普通的 LLM 是在“闭卷考试”,全凭记忆回答;而拥有 AI 知识库的 RAG 系…

作者头像 李华
网站建设 2026/4/18 10:28:52

启动多个redis进程

先找到2个Redis核心文件 启动Redis只需要redis-server(启动程序,可执行文件)和redis.conf(配置模板,随便一个可用的就行),用Linux的find命令全网查找,直接复制命令,找到…

作者头像 李华
网站建设 2026/4/21 23:55:48

【概念板块和行业板块】【股市交易规则】

核心区别一句话概括:行业板块:按公司主营业务是什么来划分,是“现在做什么”。概念板块:按公司涉及什么热门题材、主题或技术来划分,是“未来可能因为什么被炒作”。1. 行业板块定义:根据上市公司所从事的主…

作者头像 李华
网站建设 2026/4/18 19:12:37

深度解析|云蝠智能大模型呼叫系统架构:神鹤双擎 + 暴风引擎,低延迟高并发解锁呼叫中心降本增效新路径

云蝠智能大模型呼叫系统是一款 AI 原生的大模型语音智能体,采用全栈自研的分层架构设计,区别于传统 "AI 呼叫中心" 的简单叠加方案云蝠智能。核心架构分为五层协同架构(业务逻辑视角)与六层技术架构(技术实…

作者头像 李华