Оператор And (Конъюкция)
 
Возвращает битовое-AND (конъюкцию) двух числовых значений

Синтаксис

Declare Operator And ( ByRef lhs As T1, ByRef rhs As T2 ) As Ret

Использование

result = lhs And rhs

Параметры

lhs
Выражение слева.
T1
Любой числовой тип.
rhs
Выражение справа.
T2
Любой числовой тип.
Ret
Числовой тип (варьируется в зависимости от T1 и T2).

Возвращаемое значение

Возвращает битовое-AND (конъюкцию) двух операндов.

Описание

Этот оператор возвращает битовое AND с его операндами, благодаря логической операции, которая производит операцию с битами, в зависимости от битов операндов.

Таблица ниже демонстрирует все комбинации булевой операции AND:

Lhs битRhs битРезультат
000
100
010
111


Нет короткой оценки - оба выражения всегда оцениваются.

Тип возвращаемого значения зависит от типов переданных значений. Byte, UByte и тип с плавающей запятой сначала преобразуются в Integer. Если левая и правая части различаются только знаковостью, то тип возвращаемого значения совпадает с типом (T1), в противном случае, больший из двух типов возвращается.

Этот оператор может быть перегружен для определяемых пользователем типов.

Пример

' Использование оператора AND с двумя числовыми значениями
Dim As UByte numeric_value1, numeric_value2
numeric_value1 = 15 '00001111
numeric_value2 = 30 '00011110

'Результат =  14  =     00001110
Print numeric_value1 And numeric_value2
Sleep


Использование оператора AND с двумя условными выражениями
Dim As UByte numeric_value1, numeric_value2
numeric_value1 = 15
numeric_value2 = 25

If numeric_value1 > 10 And numeric_value1 < 20 Then Print "Numeric_Value1 is between 10 and 20"
If numeric_value2 > 10 And numeric_value2 < 20 Then Print "Numeric_Value2 is between 10 and 20"
Sleep

' Это выведет "Numeric_Value1 is between 10 and 20" поскольку
' оба условия в заявлении IF верно
' Это не будет выводить результат второго IF заявления, потому что первое
' условие равно true , а второе равно false.


Отличия диалектов

  • В диалекте -lang qb, этот оператор не может быть перегружен.

Отличия от QB

  • нет

См. также