快要忘记的两个位运算符
快要忘记的两个位运算符:
1. ~ 表示按位取补
例如:~0x1234fed = 0xedcb012
这个运算符在某种枚举的减去运算中效果很好,例如:
pubic enum Flags {level0:0, level1:1,level2:4}
我们用:flag = Flages.level0 | Flags.level1表示既有level0也有level1
当我们希望运行时去掉level0时,我们可以这么写flag = flag & (~Flags.level0)这样写不管flag中有没有level0都可以保证将level0去掉。
2. ^ 表示异或
定义:true ^ true = false; false ^ false = false; false ^ true = true; true ^ false = true
分类:
简单问题
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 提示词工程——AI应用必不可少的技术
· Open-Sora 2.0 重磅开源!
· 周边上新:园子的第一款马克杯温暖上架