Skip to content

Operator Imp(蕴含)


返回两个数值的按位蕴含

语法

declare operator Imp ( byref lhs as T1, byref rhs as T2 ) as Ret

用法

result = lhs Imp rhs

参数

lhs

左侧表达式。

T1

任何数值或布尔类型。

rhs

右侧表达式。

T2

任何数值或布尔类型。

Ret

数值或布尔类型(随 T1T2 变化)。

返回值

返回两个操作数的按位蕴含。

描述

此运算符返回其操作数的按位蕴含,这是一种逻辑运算,根据操作数的位设置结果中的位(对于布尔值转换为整数,false 或 true 的布尔值变为 0 或 -1 的整数值)。

下面的真值表演示了布尔蕴含运算的所有组合:

左操作数位右操作数位结果
001
100
011
111

不进行短路求值——两个表达式始终都会被求值。

返回类型取决于传入值的类型。ByteUbyte 和浮点类型的值首先转换为 Integer。如果左右操作数类型仅在有符号性上不同,则返回类型与左操作数类型(T1)相同,否则返回两种类型中较大的那个。只有当左右操作数类型都是 Boolean 时,返回类型才也是 Boolean

此运算符可以为用户定义类型重载。

示例

start GeSHi

vb
Dim As UByte a, b, c
a = &b00001111
b = &b01010101
c = a Imp b '' c = &b11110101

end GeSHi

方言差异

  • -lang qb 方言中,此运算符不能被重载。

与 QB 的区别

参见

返回 目录

基于 FreeBASIC 官方文档翻译 如有侵权请联系我们删除
FreeBASIC 是开源项目,与微软公司无隶属关系