VB6.0用掲示板の過去のログ(No.1)−VBレスキュー(花ちゃん)
[記事リスト] [新規投稿] [新着記事] [ワード検索] [過去ログ] [管理用]

投稿日: 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)でマスクをかけています。


- 関連一覧ツリー (★ をクリックするとツリー全体を一括表示します)

- 返信フォーム (この記事に返信する場合は下記フォームから投稿して下さい)

- Web Forum -