投稿日 | : 2003/04/23(Wed) 13:46 |
投稿者 | : birth |
Eメール | : |
URL | : |
タイトル | : ビット演算Andについて |
はじめまして。
ASP(VBScript)でコーディングをしているのですが、
下記のソースが正常でない理由と、解決方法とをお教えいただけないでしょうか。
ASPというよりは、VBの質問かと判断しましたので、
こちらで質問させていただきました。よろしくお願いいたします。
Const A = &H00008000
Const B = &H00010000
Const C = &H00020000
Const D = &H00040000
Sub Main()
Call fLib(A+B,"処理")
End Sub
Function fLib(a,b)
If ((a And A) = A) Then
'bを使った処理1
End If
If ((a And B) = B) Then
'bを使った処理2
End If
If ((a And C) = C) Then
'bを使った処理3
End If
End Function
※このとき、fLib()の処理1、処理2を通ることを
期待しているのですが、全く通りません。
fLib()には、A+Bつまり、&H00018000が渡されているはずで、
それに対して、(a And A)でマスクをかけています。