Sdílet prostřednictvím


Operátor XOR (Visual Basic)

Provádí logické vyloučení dvou Boolean výrazy nebo bitového vyloučení dvou numerických výrazů.

result = expression1 Xor expression2

Části

  • result
    Povinné.Všechny Boolean nebo číselné proměnné.Pro logické porovnání result je logické vyloučení (výhradní logický součet) dvou Boolean hodnoty.Pro bitové operace result je číselná hodnota, představuje bitový vyloučení dva vzorky číselné bit (výhradní bitový součet).

  • expression1
    Povinné.Všechny Boolean nebo číselný výraz.

  • expression2
    Povinné.Všechny Boolean nebo číselný výraz.

Poznámky

Pro logické porovnání result je True Pokud přesně jeden z expression1 a expression2 vyhodnocen jako True.To znamená pokud expression1 a expression2 vyhodnotit na opačné Boolean hodnoty.Následující tabulka ukazuje, jak result je určena.

If expression1 is

And expression2 is

Hodnota result je

True

True

False

True

False

True

False

True

True

False

False

False

[!POZNÁMKA]

V logické porovnání Xor operátor vyhodnocuje vždy oba výrazy, které mohou zahrnovat volání procedury.Neexistuje žádný protějškem short-circuiting Xor, protože výsledek vždy závisí na oba operandy.Pro nesmídojít ke zkratu logické operátory, viz Operátor AndAlso (Visual Basic) a Operátor OrElse (Visual Basic).

Pro bitové operace Xor operátor provádí bitového porovnání stejně umístěných bitů ve dvou číselných výrazech a nastaví odpovídající bit v result podle následující tabulky.

Pokud bit v expression1 je

A bit v expression2 je

Bit v result je

1

1

0

1

0

1

0

1

1

0

0

0

[!POZNÁMKA]

Jelikož logické a bitové operátory mají nižší prioritu než ostatní aritmetická a relační operátory, by měly být všechny bitové operace uvedeny v závorkách zajistit správné provádění.

Například 5 Xor 3 je 6.Proč je to tak, převod na binární vyjádření 101 a 011 5 a 3.Potom pomocí předchozí tabulky určit, že 101 Xor 011 110, což je binární podobu desetinné číslo 6.

Typy dat

Pokud operandy se skládá z jedné Boolean výraz a jeden číselný výraz jazyka Visual Basic převede Boolean výraz na číselnou hodnotu (–1 pro True a 0 pro False) a provede operaci bitového.

Pro Boolean je datový typ výsledek srovnání, Boolean.Bitové porovnání je výsledný datový typ číselného typu, který je vhodný pro datové typy expression1 a expression2.Naleznete v tabulce "Relační bitové porovnání a" Typy dat výsledků operátor (Visual Basic).

Přetěžování

Xor Operátor může být přetížení, což znamená, že třídy nebo struktury předefinovat své chování při operand je typu třídy nebo struktury.Pokud váš kód používá tento operátor na tyto třídy nebo struktury, ujistěte se, že pochopit jeho předefinovaná chování.Další informace naleznete v tématu Operátor postupy (Visual Basic).

Příklad

V následujícím příkladu Xor operátor (výhradní logický součet) logické vyloučení dvou výrazů.Výsledkem je Boolean hodnotu, která představuje, zda právě jeden z výrazů je 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

Předchozí příklad vytváří výsledky False, True, a False, resp..

V následujícím příkladu Xor operátor logické vyloučení (výhradní logický součet) jednotlivých bitů dvou numerických výrazů.Bity ve vzorku s výsledkem jsou nastaveny přesně jedna bity odpovídající operandy nastavena 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

V předchozím příkladu dává výsledky 2, 12 a 14, resp..

Viz také

Referenční dokumentace

Logické/bitové operátory (Visual Basic)

Priority operátorů v jazyce Visual Basic

Operátory uvedené podle funkcí (Visual Basic)

Koncepty

Logické a bitové operátory v jazyce Visual Basic