ビット演算をしようと思い、以下のようなコードを書いてみました。
nFlag = 8
nData = 3
If nFlag And nData = &H0 Then
MsgBox ("FALSE")
Else
MsgBox ("TRUE")
End If
nFlagは"1000"、
nDataは"0011"なので、
結果は "0000"で、FALSEが表示されると
思っていたのですが、なぜかTRUEが表示されます。
ウォッチで見てみると、nFlag And nDataの内容は0です。
どうして0なのにFALSEが表示されないのか?
実際この書き方は間違っているのか??
ご存じの方おられましたらご教授下さい。
以上
環境:Win2k VB6.0
If (nFlag And nData) = &H0 Then
ですよね?
じゃんぬねっとさん、ありがとうございました。
括弧がいるとは思ってもいませんでした。
勉強し直します。
ありがとうございました。
ツイート | ![]() |