ビット演算をするには

解決


xyz  2005-01-12 22:51:44  No: 118806

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

    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 22:55:15  No: 118807

If (nFlag And nData) = &H0 Then

ですよね?


xyz  2005-01-12 22:58:20  No: 118808

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

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


※返信する前に利用規約をご確認ください。




  


  このエントリーをはてなブックマークに追加