如何理解vba中逻辑运算符的位运算符


Hex((&H234 or &H243))=277
Hex((&H234 or &H244))=274
Hex((&H234 or &H245))=275

Hex((&H222 Xor &H006))=224
Hex((&H222 Xor &H123))=301

逻辑运算符的位运算是按位运算,不管什么进制,均转化为二进制,然后从低位开始按位比较,得出不同的逻辑比较结果值。
Or 逻辑比较是:有1出1,全0出0;
Xor逻辑比较是:同0异1。

*****************************************************************************
Or 运算符对两个数值表达式中位置相同的位进行逐位比较,并根据下表对 result 中相应的位进行设置:

expression1 的位为 在 expression2 中的位为 result 为
0 0 0
0 1 1
1 0 1
1 1 1

Xor 运算符既可作为逻辑运算符,也可作为位运算符。使用互斥或的逻辑进行的两个表达式的逐位比较,其结果通过下表说明:
如果 expression1 为 且 expression2 为 则 result 为
0 0 0
0 1 1
1 0 1
1 1 0

你在VBA中试试:

Sub SHOW()

Dim A, B, C
A = (&H234 Or &H243)
MsgBox "A VALUE=" & A
B = Hex(A)
MsgBox "B VALUE=" & B

End Sub
然后“运行----运行子过程”查看结果。追问

a or b = c
c 如何计算 = a或b
或者说 and or xor not 之间的运算关系是怎样的?最好举几个例子

追答

101001
OR 110101
------------------
111101

温馨提示:答案为网友推荐,仅供参考
相似回答