2011-07-26 212 views

回答

3

3是二進制11,1是二進制01

01 and 11 = 01 

和1 = 1

用於位運算符的參考見msdn

+0

感謝您的回答。那麼如何確定一個二進制數是否將評估爲001?例如,例如,這個表達式如何處理數字4?我是否必須對二進制數有透徹的理解才能理解這一點? –

+0

考慮到1的值可以表示爲最終的0和1的無限序列。所有那些受任何位值(0或1)影響的零將總是給出0,因爲「0和0 = 0」以及「0和1 = 0」。所以只有最後一點是重要的。如果你想確認,你可以進行徹底的測試,但是這一行代碼有效地確定了這個數字是否是奇數。 –

+0

另一個例子:考慮小數點'204和170'。在二進制中,這是'11001100和10101010'。如果兩個數都是1,那麼得到1,如果其中任何一個爲0,則得到0,所以得到10001000.在十進制中,這是88的結果。因此'204和170 = 88'。這就是像'And','Or','Xor'和'Not'這樣的按位運算符的工作原理。 –

0

因爲您在語句末尾賦值1。

+1

這是不正確的(參見marc的回答) –

0

And運算符執行布爾AND操作;如果將低位(1)設置爲要比較的值(i),則該數字爲奇數。

0

嘗試這樣:

Dim i As Integer = 3 
Dim IsOdd As Integer 
If (i And 1) Then 
    IsOdd = True 
Else 
    IsOdd = False 
End If 

希望它能幫助。

相關問題