为什么“(oddNumber和1)= 1”评估为真?

时间:2011-07-26 18:05:00

标签: vb.net syntax

这可能是一个基本问题,但我之前从未使用过这种语法。有人能详细告诉我这个表达式如何评估为真? [假设IsOdd是布尔类型]谢谢。

Dim i As Integer = 3
IsOdd = (i And 1) = 1

4 个答案:

答案 0 :(得分:3)

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

01 and 11 = 01

1 = 1

请参阅msdn以获取按位运算符的参考。

答案 1 :(得分:0)

因为您在语句末尾指定了值1。

答案 2 :(得分:0)

And运算符执行布尔AND运算;如果将低位(1)设置为要比较的值(i),则该数字为奇数。

答案 3 :(得分:0)

尝试这样的事情:

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

希望它有所帮助。