Xor İşleci (Visual Basic)

İki ifadede mantıksal dışlama veya iki Boolean sayısal ifadede bit düzeyinde dışlama gerçekleştirir.

Sözdizimi

result = expression1 Xor expression2  

Parça

result
Gerekli. Herhangi bir Boolean veya sayısal değişken. Boole karşılaştırması için, result iki Boolean değerin mantıksal dışlamasıdır (özel mantıksal ayrıştırma). Bit düzeyinde işlemler için, result iki sayısal bit deseninin bit düzeyinde dışlanmasını (bit düzeyinde ayrıştırma) temsil eden sayısal bir değerdir.

expression1
Gerekli. Herhangi bir Boolean veya sayısal ifade.

expression2
Gerekli. Herhangi bir Boolean veya sayısal ifade.

Açıklamalar

Boole karşılaştırması için, resultTrue if ve yalnızca tam olarak biriyse expression1 ve expression2 olarak değerlendirilir True. Yani, if ve only if expression1 ve expression2 evaluate to opposite Boolean values. Aşağıdaki tabloda nasıl result belirlendiği gösterilmektedir.

Varsa expression1 Ve expression2 değeri result :
True True False
True False True
False True True
False False False

Not

Boole karşılaştırmasında Xor , işleç her zaman yordam çağrıları yapmayı da içerebilen her iki ifadeyi de değerlendirir. sonucu her zaman her iki işlenene Xorde bağlı olduğundan için için kısa devreli bir karşılık yoktur. Kısa devreli mantıksal işleçler için bkz. AndAlso İşleci ve OrElse İşleci.

Bit düzeyinde işlemler için işleç, Xor iki sayısal ifadede aynı konumdaki bitlerin bit düzeyinde karşılaştırmasını gerçekleştirir ve karşılık gelen biti result aşağıdaki tabloya göre ayarlar.

Bit içinde expression1 ise Ve bit içinde expression2 içindeki bit result :
1 1 0
1 0 1
0 1 1
0 0 0

Not

Mantıksal ve bit düzeyinde işleçler diğer aritmetik ve ilişkisel işleçlerden daha düşük önceliğe sahip olduğundan, doğru yürütmeyi sağlamak için bit düzeyindeki işlemler parantez içine alınmalıdır.

Örneğin, 5 Xor 3 6'dır. Bunun neden böyle olduğunu görmek için 5 ve 3'ü ikili gösterimleri olan 101 ve 011'e dönüştürün. Ardından 101 Xor 011'in 6 ondalık sayısının ikili gösterimi olan 110 olduğunu belirlemek için önceki tabloyu kullanın.

Veri Türleri

İşlenenler bir Boolean ifade ve bir sayısal ifadeden oluşuyorsa, Visual Basic ifadeyi Boolean sayısal bir değere (için True –1 ve için False0) dönüştürür ve bit düzeyinde bir işlem gerçekleştirir.

Karşılaştırma için Boolean sonucun veri türü şeklindedir Boolean. Bit düzeyinde karşılaştırma için sonuç veri türü ve expression2veri türlerine uygun sayısal bir türdürexpression1. İşleç Sonuçlarının Veri Türleri'ndeki "İlişkisel ve Bit Düzeyinde Karşılaştırmalar" tablosuna bakın.

Aşırı Yükleme

İşleç Xor aşırı yüklenebilir, yani bir işlenen bu sınıf veya yapı türüne sahip olduğunda bir sınıf veya yapı davranışını yeniden tanımlayabilir. Kodunuz bu işleci böyle bir sınıf veya yapıda kullanıyorsa, yeniden tanımlanmış davranışını anladığınızdan emin olun. Daha fazla bilgi için bkz . İşleç Yordamları.

Örnek 1

Aşağıdaki örnek, iki ifadede Xor mantıksal dışlama (özel mantıksal ayrıştırma) gerçekleştirmek için işlecini kullanır. Sonuç, ifadelerden tam olarak birinin olup olmadığını temsil eden bir Boolean değerdir 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

Önceki örnek sırasıyla , Trueve Falsesonuçlarını Falseüretir.

Örnek 2

Aşağıdaki örnek, iki sayısal ifadenin Xor tek tek bitlerinde mantıksal dışlama (özel mantıksal ayrıştırma) gerçekleştirmek için işlecini kullanır. Sonuç desenindeki bit, işlenenlerdeki karşılık gelen bitlerden biri tam olarak 1 olarak ayarlandıysa ayarlanır.

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

Önceki örnek sırasıyla 2, 12 ve 14'ün sonuçlarını üretir.

Ayrıca bkz.