当前位置: 首页 > news >正文

位掩码的一些tip

我们把这三大位运算符(&|^)的核心秘密总结成一句话、一张表格和一组“大招”。

掌握了它们,你就掌握了 C 语言底层操作的灵魂。

1. 核心口诀(一句话记住)

  • &(按位与):全 1 才为 1 ——“用来裁剪和清零”

  • |(按位或):有 1 就为 1 ——“用来合并和置一”

  • ^(按位异或):不同才为 1 ——“用来翻转和对消”

2. 行为对照表(看透本质)

假设我们要对某个不知道的二进制位x进行操作:

运算符遇到 0 的效果遇到 1 的效果底层核心用途
&

强行变成 0

x & 0 == 0

保持原样

x & 1 == x

掩码裁剪:只留下想要的位,不想要的位全部抹黑(变成 0)。
|

保持原样

x | 0 == x

强行变成 1

x | 1 == 1

状态开启:把两组数据拼在一起,或者强行把某一位变成 1。
^

保持原样

x ^ 0 == x

强行取反 (0变1, 1变0)

x ^ 1 == ~x

开关翻转:无需用if-else,直接让某一位在 0 和 1 之间来回切换。

3. 三大运算符的“独门大招”

💡&的大招:判断奇偶

想知道一个变量n是奇数还是偶数,不用算n % 2(取余运算比较慢),直接看二进制的最后一位:

C

if ((n & 1) == 0) { // 奇数最后一位必然是1,偶数必然是0 // 是偶数 }

💡|的大招:多重开关合并(权限管理)

在很多系统里,用不同的位代表不同的权限。

  • 读权限:0001

  • 写权限:0010

  • 执行权限:0100

我想同时拥有“读”和“写”权限?直接用|合并:0001 | 0010 = 0011

💡^的大招:消消乐(找落单、不占内存交换变量)

  • 相同的数字异或直接归零:A ^ A = 0

  • 任何数和 0 异或还是它本身:A ^ 0 = A

  • 利用这个特性,可以在一个成双成对的数组里,用一轮循环直接揪出唯一那个落单的数字。

|

http://www.jsqmd.com/news/919724/

相关文章:

  • HTML To Figma:打破设计与开发壁垒的转换神器
  • 【周末消息】2026年5月30日-6月1日
  • 2026年当下,连云港高端业主如何科学选择木作楼梯平台与服务商? - 2026年企业资讯
  • 告别测试报告流水账:用CAPL的TestStep函数写出清晰易懂的测试步骤
  • AD10---常见快捷键以及说明(持续更新中..)
  • 实验十 华为路由器和交换机实现RIP 动态路由协议配置实验指导书
  • Iwara视频批量下载:5分钟掌握免费高效下载的终极指南
  • 咖啡机出海省流量实战:映翰通IR202白名单配置指南
  • 循环结构:for循环,while循环,do-while循环
  • 3分钟免费搞定城通网盘直连下载:告别限速的终极解决方案
  • 论文开题报告怎么写好?
  • 【Go实战】百万级并发不崩盘!用Worker Pool和Context驯服你的Goroutine
  • 基于电致发光图像的太阳能电池缺陷检测基准数据集:2624张图像实现99.8%分类准确率
  • 手把手解决Ubuntu 20.04/22.04上Isaac Gym的Segmentation fault (core dumped):从vulkan库安装到prime-select避坑指南
  • 告别调参玄学:手把手教你用进化算法(EA)优化机器学习模型(附Python代码)
  • ACE2005数据集深度避坑指南:预处理中的那些“坑”与高效解决方案
  • OEXN外汇:投教内容、服务流程与品牌可信度评测
  • MCP 的本质:不是调模型,而是限制 Agent 行为边界
  • OnmyojiAutoScript每日领黑蛋功能深度解析:从异常诊断到架构优化实战
  • ARM TrustZone与TEE:Android安全基石深度解析
  • C语言学习心得2
  • 5大核心模块解析:Atom简体中文汉化包如何重塑你的编程体验
  • 2026年Q2特殊不锈钢管厂家选型核心技术维度解析 - 优质品牌商家
  • 从一道Python编程题出发:如何暴力破解未知偏移量的凯撒密码?
  • 魔兽争霸3现代化改造:3步解锁高帧率与宽屏体验
  • 2026 苏州苏易防水修缮|卫生间、阳台、屋顶、地下室免砸砖漏水专项维修 - 吉修匠
  • 别再死记StyleGAN架构图了!用Python代码逐行拆解Mapping Network与AdaIN的实战奥秘
  • Windows 事件与跨线程调用
  • 从零开始学fMRI:用Python+SPM12处理你的第一个静息态数据(保姆级避坑指南)
  • 如何轻松在Windows上运行安卓应用:APK安装器完整解决方案