C#中的&运算
2是一个比较特殊的数。
2的1次方2
2的2次方4
2的3次方8
2的4次方16
2的5次方32
2的6次方64
2的7次方128
2的8次方256
2的9次方512
2的10次方1024
2的11次方2048
2的12次方4096
2的13次方8192
一个数字sum等于2的各个次方的和。
那么 sum&其中任意一个数,都等于这个数。
如:2+4+8+16+64+256=350
350&2=2
350&4=4
350&8=8
350&16=16
350&64=64
350&256=256
这样就能通过sum与某个值比如说256的位运算,然后判断sum,也就是例子中350是否包含256这个值。
我见过有人用这种位运算做权限判断。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!