I#的C#位运算符

时间:2011-09-20 20:33:13

标签: c# bit-manipulation

这个表达实际上意味着什么?

注意 - x和y变量只是样本值。

int x = 3; 
int y = 1; 

if ((x & y) !=0)

我继承了一个代码库,并没有达到按位运算符的速度。我已经读过了,但仍然遗漏了一些东西。救命啊!

3 个答案:

答案 0 :(得分:8)

它正在比较每个值中的位。它返回在两个数字中设置的任何位。

在你的例子中:

    3:  0011
    1:  0001

3 & 1:  0001

答案 1 :(得分:2)

检查x和y是否都至少有一个公共位。在你的例子中,这将是真实的。

答案 2 :(得分:1)

if ((x & y) != 0)

这通常用于确定值x是否具有特定的位标志(y)集。 AND运算符返回一个整数,只包含在两个操作数中设置的那些位。