Возвращает битовое XOR (Исключающая дизъюнкция) из двух числовых значений
Синтаксис
Использование
result = lhs Xor rhs
Параметры
lhs
Выражение слева.
T1
Любой числовой тип.
rhs
Выражение справа.
T2
Любой числовой тип.
Ret
Числовой тип (варьируется в зависимости от T1
и T2).
Возвращаемое значение
Возвращает битовый XOR двух операндов.
Описание
Этот оператор возвращает битовое исключение его операндов. Логическая
операция, которая устанавливает значения битов в зависимости от битов
операндов.
Таблица ниже демонстрирует все комбинации булевой операции исключения:
левый бит | правый бит |
результат |
0 | 0 | 0 |
1 | 0 | 1 |
0 | 1 | 1 |
1 | 1 | 0 |
Нет ограниченного вычисления - оба выражения всегда вычисляются.
Возвращаемый тип зависит от переданных типов значений.
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 equals 10 or Numeric_Value2 equals 20"
Sleep
' Это выведет "Numeric_Value1 равное 10 или
Numeric_Value2 равное 20"
' в зависимости от выполняемого
условия , которое задается в операторе IF
Различия диалектов
- В диалекте -lang qb , этот
оператор не может быть перегружен.
Отличия от QB
См. также