2011-07-26 16 views

答えて

3

3、バイナリ11 1ビット単位の演算子の参照を参照msdnバイナリ01

01 and 11 = 01 

1 = 1

あります。

+0

答えをありがとう。では、バイナリの数値が001になるかどうかをどうやって判断しますか?たとえば、この式では4という数字がどのように扱われますか?これを理解するためにバイナリナンバーを徹底的に理解する必要がありますか? –

+0

1の値は、0の無限列として、最後には1として表すことができると考えてください。 "0と0 = 0"、 "0と1 = 0"なので、ビット値(0または1)の影響を受けるこれらのゼロはすべて0を返します。したがって、最後のビットだけが重要です。確かめたい場合は完全にテストすることができますが、このコード行は数字が奇数かどうかを効果的に判断します。 –

+0

別の例:10進数 '204 And 170'を考えてみましょう。バイナリでは、 '11001100と10101010'です。両方の数字が1の場合は1、どちらかが0の場合は0が得られるので10001000になります。10進数では88の結果です。したがって、204と170 = 88です。これは、ビット演算子が 'And'、' Or'、 'Xor'と' Not'のように動作する方法です。 –

0

ステートメントの最後に1の値が割り当てられているためです。

+1

これは真実ではありません(marcの答えを参照) –

0

Andオペレータはブール型ANDオペレーションを実行します。比較する値に低ビット(1)が設定されている場合(i)、数値は奇数です。

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

はそれが役に立てば幸い:

0

はこのような何かを試してみてください。

関連する問題