快要忘记的两个位运算符

快要忘记的两个位运算符:

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

posted @   玉开  阅读(720)  评论(6编辑  收藏  举报
编辑推荐:
· 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 重磅开源!
· 周边上新:园子的第一款马克杯温暖上架
点击右上角即可分享
微信分享提示