Возвращает битовое-
AND (конъюкцию) двух числовых
значений
Синтаксис
Использование
result = lhs And rhs
Параметры
lhs
Выражение слева.
T1
Любой числовой тип.
rhs
Выражение справа.
T2
Любой числовой тип.
Ret
Числовой тип (варьируется в зависимости от T1
и T2).
Возвращаемое значение
Возвращает битовое-AND (конъюкцию) двух операндов.
Описание
Этот оператор возвращает битовое
AND с его
операндами, благодаря логической операции, которая производит операцию с
битами, в зависимости от битов операндов.
Таблица ниже демонстрирует все комбинации булевой операции
AND:
Lhs бит | Rhs бит | Результат |
0 | 0 | 0 |
1 | 0 | 0 |
0 | 1 | 0 |
1 | 1 | 1 |
Нет короткой оценки - оба выражения всегда оцениваются.
Тип возвращаемого значения зависит от типов переданных значений.
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
См. также