返回两个数值的bitwise-xor(exclusive disjunction)
语法
用法
result = lhs Xor rhs
参数
lhs
左边的表达式。
T1
任何数字类型。
rhs
右侧表达。
T2
任何数字类型。
Ret
数字类型(因T1 和T2 而异)。
返回值
说明
该运算符返回其操作数的逐位排除,这是一个逻辑运算,它导致根据操作数的位设置位的值。
下面的真值表展示了布尔排除操作的所有组合:
不执行短路 - 两个表达式总是被评估。
返回类型取决于传递的值的类型。
Byte,
UByte和浮点类型值首先转换为
Integer.如果左右侧类型的签名不同,则返回类型与左侧类型(
T1 )相同,否则返回两种类型中的较大者。
对于用户定义的类型,此运算符可能会重载。
例子
'在两个数值上使用XOR运算符
Dim As UByte numeric_value1, numeric_value2
numeric_value1 = 15 '00001111
numeric_value2 = 30 '00011110
'结果= 17 = 00010001
Print numeric_value1 Xor numeric_value2
Sleep
'对两个条件表达式使用XOR运算符
Dim As UByte numeric_value1, numeric_value2
numeric_value1 = 10
numeric_value2 = 15
If numeric_value1 = 10 Xor numeric_value2 = 20 Then Print "Numeric_Value1等于10或Numeric_Value2等于20"
Sleep
'这将输出“Numeric_Value1等于10或Numeric_Value2等于20”
'因为只有IF语句的第一个条件是真的
方言差异
与QB差别
参考