ビット演算は門のようなものです。
通れた人=来た人 AND ガード
の様に例えます。
門ANDのトップ(“両方のビットが1の時、その桁は1”※1)
「各桁のガード0は、誰も通さないでね。ガード1は、来た人1を通してね。」
&B1010 AND &B1100→&B1000
門ORのトップ(“どちらかのビットが1であれば、その桁は1”※1)
「各桁のガード0は、来た人1を通してね。ガード1は、皆を通してね。」
&B1010 AND &B1100→&B1110
門XORのトップ(“値が異なる桁が1”※1)
「各桁のガード0は、来た人1を通してね。ガード1は、来た人0を通してね。」
&B1010 AND &B1100→&B0110
自分でも合っているか分かりませんが、多分合っていると思います。
後になっても来た人とガードが種類なのに通れた人が
通れたか否かになっているのは分かりづらいと感じたので、
下記のサンプルでなんとなくイメージを掴んだ方が早いでしょう。
ANDのサンプル:
IF !(VARI AND &B001) THEN
DIALOG "0びっとめを 1にしてから またきてください"
END
ENDIF
ORのサンプル:
IF PSWRD$="HOGE" THEN
VARI=VARI OR &B010
DIALOG "あんごうの かいどくに せいこうした!"+CHR$(10)+"1びっとめが 1になる"
ENDIF
XORのサンプル:
DIALOG "2びっとめ すいっちお"+"んふ"[!!(VARI AND &B100)]'ここは真似しなくても良い
VARI=VARI XOR &B100
※1
http://petitcom.net/manual/_ronrienzanshi より引用