美文网首页
2020-07-01【c#】枚举的位运算 & LayerMask

2020-07-01【c#】枚举的位运算 & LayerMask

作者: 持刀的要迟到了 | 来源:发表于2020-07-01 21:54 被阅读0次

枚举的位运算

1.先通过|运算符,获得一个合并的集合结果
2.将这个结果,通过和某个枚举值的&运算,进行比较判断,由于它二进制的运算,不是1就是0,所以,假如结果为0,那么这个枚举值就不在结果的列表里;反之,则在列表里。
https://www.cnblogs.com/RoyYu/p/3904379.html

image.png

https://www.cnblogs.com/sunchong/p/4442352.html

image.png

LayerMask位运算

1 << 2 左移2位,得到数字4
1 << 16 左移16位,得到数字65536
0 << ? 都得0
然而layermask不是这样算的,它是没有换算成十进制的,是使用了int32,存储32个1/0。
如:
1 << 2 : 100 前面补上29个0
1 << 5 : 100000 前面补0

LayerMask m = (1<<2) | (1<<5) : 100100 前面补0
(m & (1 << 2)) == (1 << 2),则集合m中包含(1<<2)。

https://blog.csdn.net/qq_34562355/article/details/91876362

相关文章

  • 2020-07-01【c#】枚举的位运算 & LayerMask

    枚举的位运算 1.先通过|运算符,获得一个合并的集合结果2.将这个结果,通过和某个枚举值的&运算,进行比较判断,由...

  • 位运算与位枚举

    位运算与位枚举

  • c枚举,位运算

  • 位运算和枚举

    我看iOS本身定义的枚举里面经常会使用左移(<<)来定义枚举的值,一开始我还不懂为啥要这么定义。这么处理的逻辑跟i...

  • iOS 位枚举

    在 iOS 开发中,我们使用系统的枚举定义的时候,经常可以看到位枚举: 需要掌握位枚举,我们需要先了解位运算 和 ...

  • iOS-枚举类型为什么要用<<

    在枚举中我们经常看到<<这样的位运算符。如果我们在枚举中看到<<那我们就可以通过|(位运算符:或)进行组合使用: ...

  • C#位运算讲解与示例2

    在C#中可以对整型运算对象按位进行逻辑运算。按位进行逻辑运算的意义是:依次取被运算对象的每个位,进行逻辑运算,每个...

  • swift中的枚举使用问题

    在OC中,当遇到可以进行位运算的枚举值时,可以使用|(或运算符组合多个枚举值) 比如这种类型NSStringDra...

  • [iOS] 枚举 位运算的转换

    封装工具时, 使用不能定位第三方的枚举比如 SDWebImage 所以 外部定义枚举 内部转换 相关文章 iOS开...

  • C#重载运算符

    C#中比较运算符的重载 == and != ; > and <; >= and <=. c#中要求比较运算符的重载...

网友评论

      本文标题:2020-07-01【c#】枚举的位运算 & LayerMask

      本文链接:https://www.haomeiwen.com/subject/hpckqktx.html