2011-09-20 84 views
0

這個表達式實際上是什麼意思?C#按位運算符與Ints

注 - x和y變量只是樣本值。

int x = 3; 
int y = 1; 

if ((x & y) !=0) 

我繼承了一個代碼庫,並沒有達到按位運算符的速度。我已經讀過,但我仍然錯過了一些東西。幫幫我!

回答

8

它比較每個值中的位。它返回在兩個數字中設置的任何位。

在您的例子:

3: 0011 
    1: 0001 

3 & 1: 0001 
1
if ((x & y) != 0) 

這通常被用來確定該值是否x具有特定的位標誌(y)集。 AND運算符返回一個只有在兩個操作數中設置的位集的整數。

2

這將檢查x和y是否都至少有一個共用位集。在你的例子中,這將是真實的。