Выполняет побитовую операцию исключающего ИЛИ (exclusive OR) для двух или нескольких операндов следующих типов данных: Numeric, Varbinary, или Blob, и возвращает результат соответствующего типа. Существует два варианта данной функции: для числовых и двоичных данных (смотрите ниже:)
BITXOR(nNumericExpression1, nNumericExpression2 ..., nNumericExpression26) |
BITXOR(BinaryExpression1, BinaryExpression2 ..., BinaryExpression26) |
Параметры
- nNumericExpression1, nNumericExpression2, ... , nNumericExpression26
-
Определяет список параметиров типа данных Numeric, для которых выполнятся побитовая операция exclusive OR.
- BinaryExpression1, BinaryExpression2, ... , BinaryExpression26
-
Определяет список параметров типа данных Varbinary / Blob, для которых выполняется побитовая операция исключающего ИЛИ.
Примечание
Вы можете задавать не более чем 26 параметров для данной функции. Задаваемые значения должны быть преобразуемы к одному типу данных. Если заданные параметры не являются целыми числами, то ини будут преобразованы к целому типу перед выполнением данной функции.Исключением является тип данных Varbinary.
Возвращаемое значение
Numeric / Varbinary. BITXOR( ) возвращает результат побайтовой операции исключительного ИЛИ для заданных параметров.
![]() |
---|
Для типов данных Varbinary / Blob, при вычислении результирующего значения все операнды удлинняются до максимального операнда символами 0h00, только после этого выполняется сама операция. |
Комментарии
BITXOR( ) выполняет побайтовое вычисление каждой пары операндов: eExpressionN и, соответственно, eExpressionN+1. Если соответствующие биты в обоих операндах равны = 0, или = 1, ( eExpressionN / eExpressionN+1), то результирующий бит = 0; в противном случае - результирующий бит = 1. Другими словами - имеют разные значения.
В следующей таблице приводятся варианты побитовой операции исключающего ИЛИ (exclusive OR)? или XOR, для двух операндов eExpressionN и eExpressionN+1:
Бит операнда eExpressionN | Бит операнда eExpressionN+1 | Бит Результата |
---|---|---|
0 |
0 |
0 |
0 |
1 |
1 |
1 |
0 |
1 |
1 |
1 |
0 |
Пример
В следующем примере рассматривается целое число = 5, которое имеет даоичное представление = 0101, это переменная с именем Var1. Другая переменная, с именем Var2, = 6, соответствующее двоичное представление = 0110. BITXOR( ) возвращает значение = 3, которое имеет двоичное представление = 0011.
![]() | |
---|---|
Var1 = 5 && 0101 binary value |