一、学友问题描述:
在进行数字电路设计时经常会用到异或门,同或门。那么,在VBA中可以进行类似的逻辑运算吗?
二、解决方法:
数字电路设计中的异或,同或逻辑运算。在VBA中可使用 Xor 和 Eqv 运算符进行代替。如下:
Xor:
如果有且只有一个表达式的值为 True,则 result 为 True。 但是,只要有一个表达式为 Null,则 result 也为 Null。当两个表达式都不 为 Null 时, 根据 下表确定 result。
expression1
|
expression2
|
则 result 是
|
True
|
True
|
False
|
True
|
False
|
True
|
False
|
True
|
True
|
False
|
False
|
False
|
Eqv:
如果任一表达式为 Null,则 result 也为 Null。 当两个表达式都不 为 Null 时, 根据 下表确定 result。
expression1
|
expression2
|
则 result 是
|
True
|
True
|
True
|
True
|
False
|
False
|
False
|
True
|
False
|
False
|
False
|
True
|
示例如下:
Dim A, B, C, D, MyCheck
A = 10: B = 8: C = 6: D = Null
MyCheck = A > B Xor B > C ' Returns False.
MyCheck = B > A Xor B > C ' Returns True.
MyCheck = B > A Xor C > B ' Returns False.
MyCheck = B > D Xor A > B ' Returns Null.