Udostępnij za pośrednictwem


Xor — Operator (Visual Basic)

Wykonuje logiczną alternatywę wykluczającą dwóch Boolean wyrażeń lub wykluczenia logiczną dwóch wyrażeń liczbowych.

result = expression1 Xor expression2

Części

  • result
    Wymagane.Każdy Boolean lub zmienna numeryczna.Dla porównania Boolean result jest wykluczenia logicznego (wykluczająca logiczne) dwóch Boolean wartości.Dla operacji na bitach result jest wartością numeryczną, reprezentującą bitowe wyłączenie dwa wzorce numeryczne bit (wykluczająca logiczną).

  • expression1
    Wymagane.Każdy Boolean lub wyrażenia liczbowego.

  • expression2
    Wymagane.Każdy Boolean lub wyrażenia liczbowego.

Uwagi

Dla porównania Boolean result jest True tylko wtedy, gdy dokładnie jeden z expression1 i expression2 wynikiem True.Oznacza to, że tylko wtedy, gdy expression1 i expression2 oceny do przeciwnego Boolean wartości.W następującej tabeli pokazano, jak result jest ustalona.

If expression1 is

And expression2 is

Wartość result jest

True

True

False

True

False

True

False

True

True

False

False

False

[!UWAGA]

Logiczna porównania Xor operator ocenia zawsze oba wyrażenia, które mogą obejmować wywołań procedury.Nie ma odpowiednika short-circuiting do Xor, ponieważ wynik zależy od zawsze oba operandy.Dla zwieranie operatory logiczne, zobacz AndAlso — Operator (Visual Basic) i OrElse — Operator (Visual Basic).

Dla operacji na bitach Xor operator wykonuje porównanie bitowe identycznie pozycjonowane bitów w dwóch wyrażeń liczbowych i ustawia bit w odpowiadających im result zgodnie z poniższą tabelą.

Jeśli bit w expression1 jest

A bit w expression2 jest

Bit w result jest

1

1

0

1

0

1

0

1

1

0

0

0

[!UWAGA]

Ponieważ operatory bitowe i logiczne mają niższy priorytet niż operatory arytmetyczne i relacyjne, wszelkie operacje bitowe powinny być ujęte w nawiasy, aby zapewnić dokładne wykonanie.

Na przykład 5 Xor 3-6.Aby sprawdzić, dlaczego jest tak, przekonwertować binarnego przedstawicielstw, 101 i 011 5 i 3.Następnie należy użyć poprzedniej tabeli można ustalić, że 101 Xor 011 jest 110, która jest reprezentacja binarna liczbę dziesiętną 6.

Typy danych

Jeśli operandy składają się z jednego Boolean wyrażenie i jednego wyrażenia liczbowego języka Visual Basic konwertuje Boolean wyrażenia wartości liczbowej (–1 dla True i 0 dla False) i wykonuje operacji na poziomie bitowym.

Dla Boolean jest typu danych wyniku porównania, Boolean.Operatory porównywania, typ danych wynik jest typu liczbowego, właściwe dla typów danych expression1 i expression2.Zobacz tabelę "I bitowe porównania relacyjne" w Typy danych wyników operatora (Visual Basic).

Przeciążenie

Xor Operator może być nadmiernie, co oznacza, że klasy lub struktury można ponownie zdefiniować jego zachowanie podczas operand ma typ tej klasy lub struktury.Jeśli użyty kod używa tego operatora na klasy lub struktury, upewnij się, że rozumiesz działanie przedefiniować.Aby uzyskać więcej informacji, zobacz Procedury operatorów (Visual Basic).

Przykład

W poniższym przykładzie użyto Xor operatora do wykonywania wykluczenia logicznego (wykluczająca logiczny) na dwóch wyrażeń.Wynik jest Boolean wartość, która reprezentuje czy dokładnie jedno z wyrażeń jest True.

Dim a As Integer = 10
Dim b As Integer = 8
Dim c As Integer = 6
Dim firstCheck, secondCheck, thirdCheck As Boolean
firstCheck = a > b Xor b > c
secondCheck = b > a Xor b > c
thirdCheck = b > a Xor c > b

Poprzedni przykład daje wyniki False, True, i False, odpowiednio.

W poniższym przykładzie użyto Xor operatora do wykonywania wykluczenia logicznego (wykluczająca logiczny) na poszczególnych bitów dwóch wyrażeń liczbowych.Bit w strukturze wynik jest ustawiona, jeśli dokładnie jeden z odpowiednich bitów w operandy jest ustawiona na 1.

Dim a As Integer = 10 ' 1010 in binary
Dim b As Integer = 8  ' 1000 in binary
Dim c As Integer = 6  ' 0110 in binary
Dim firstPattern, secondPattern, thirdPattern As Integer
firstPattern = (a Xor b)  '  2, 0010 in binary
secondPattern = (a Xor c) ' 12, 1100 in binary
thirdPattern = (b Xor c)  ' 14, 1110 in binary

Poprzedni przykład daje wyniki 2, 12 i 14, odpowiednio.

Zobacz też

Informacje

Operatory logiczne/bitowe (Visual Basic)

Kolejność wykonywania działań (Visual Basic)

Operatory według funkcji (Visual Basic)

Koncepcje

Operatory logiczne i bitowe w Visual Basic