Operator EQV(等价)
- 来源: https://www.freebasic.net/wiki/wikka.php?wakka=KeyPgOpEqv
- 最后更新: 2016-03-13
返回两个数值的按位等价(合取)
语法
declare operator Eqv ( byref lhs as T1, byref rhs as T2 ) as Ret用法
result = lhs Eqv rhs参数
lhs
左侧表达式。
T1
任何数值或布尔类型。
rhs
右侧表达式。
T2
任何数值或布尔类型。
Ret
数值或布尔类型(随 T1 和 T2 变化)。
返回值
返回两个操作数的按位等价。
描述
此运算符返回其操作数的按位等价,这是一种逻辑运算,根据操作数的位设置结果中的位(对于布尔值转换为整数,false 或 true 的布尔值变为 0 或 -1 的整数值)。
下面的真值表演示了布尔等价运算的所有组合:
| 左操作数位 | 右操作数位 | 结果 |
|---|---|---|
| 0 | 0 | 1 |
| 1 | 0 | 0 |
| 0 | 1 | 0 |
| 1 | 1 | 1 |
不进行短路求值——两个表达式始终都会被求值。
返回类型取决于传入值的类型。Byte、Ubyte 和浮点类型的值首先转换为 Integer。如果左右操作数类型仅在有符号性上不同,则返回类型与左操作数类型(T1)相同,否则返回两种类型中较大的那个。只有当左右操作数类型都是 Boolean 时,返回类型才也是 Boolean。
此运算符可以为用户定义类型重载。
示例
start GeSHi
vb
Dim As UByte a = &b00110011
Dim As UByte b = &b01010101, c
c = a Eqv b '' c = &b10011001end GeSHi
方言差异
- 在 -lang qb 方言中,此运算符不能被重载。
与 QB 的区别
- 无
参见
返回 目录