好きなおでんの具材ドラフト会議しましょう

他の人が作ったプログラムの修正を行っていたところ、下記のような記述がありました。
このような Or や And の使われ方はどのようなことを意味するのでしょうか?
(gStatusはintegerです。)

記述(1)
gStatus = gs_Status Or &H2

記述(2)
If (gStatus And &H2) = &H2 Then
'処理
End IF


宜しくお願い致します。

A 回答 (1件)

&H2は、16進数の「2」をあらわします。


ご質問のケースでは、BIT1の状態を制御、確認しています。
記述(1)
gs_Status のBIT1をONしている。
記述(2)
gs_Status のBIT1がONか、どうか判断している。
(gs_Status をBIT1でマスク(BIT1の情報のみを抽出))し、
BIT1と比較している。
16進数・2進数・論理演算を学習されては?
http://f1.aaa.livedoor.jp/~zahyou/oldvb/ronri.htm
http://www5b.biglobe.ne.jp/~yone-ken/VB/BinHexDe …
http://www5b.biglobe.ne.jp/~yone-ken/VB/BinHexDe …
    • good
    • 0
この回答へのお礼

早速のご回答ありがとうございました。

ご提示頂いたリンク先も大変参考になり、すっきりと理解することができました。
ありがとうございます。

お礼日時:2008/03/11 11:37

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています


おすすめ情報

このQ&Aを見た人がよく見るQ&A