ビット演算をするには

解決


xyz  2005-01-12 13:51:44  No: 118806  IP: [192.*.*.*]

ビット演算をしようと思い、以下のようなコードを書いてみました。

    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

編集 削除
じゃんぬねっと  URL  2005-01-12 13:55:15  No: 118807  IP: [192.*.*.*]

If (nFlag And nData) = &H0 Then

ですよね?

編集 削除
xyz  2005-01-12 13:58:20  No: 118808  IP: [192.*.*.*]

じゃんぬねっとさん、ありがとうございました。
括弧がいるとは思ってもいませんでした。
勉強し直します。

ありがとうございました。

編集 削除