3
我在这里很困惑。查询C#中是否设置了位的位置
如果我有一个数字,我们在这里称它为16,并且我想检查是否设置了一个特定的位。我会做以下几点:
if (16 & (2^bitPosition) == (2^bitPosition))
对不对?
为什么然后,为bitPosition = 2,该语句返回true?它不应该是错误的,因为在这种情况下只有bitPosition = 4是真的吗?
我的理解是:
Bit|Val
0 |1
1 |2
2 |4
3 |8
4 |16
5 |32
6 |64
7 |128
我从来没有用这种事情以前曾和它的莫名其妙我。
^幂不通电的XOR运算符。 –
将'2 ^'更改为'1 <<' –