عامل التشغيل Xor في (Visual Basic)

ينفّذ استبعاد منطقي على تعبيري Boolean أو استبعاد أحادي المعامل على التعبيرين الرقميين.

result = expression1 Xor expression2

الأجزاء

  • result
    مطلوبة. أي Boolean أو متغير رقمي. للحصول على مقارنة منطقية ، تعتبر result استبعاد منطقي (انفصال منطقي خاص ) لاثنين من قيم ال Boolean . للعمليات أحادية المعامل تعتبر result هي القيمة الرقمية التي تمثل استبعاد أحادي المعامل (انفصال منطقي خاص) لاثنين من أنماط البت الرقمية.

  • expression1
    مطلوبة. أي Boolean أو تعبير رقمي.

  • expression2
    مطلوبة. أي Boolean أو تعبير رقمي.

ملاحظات

للحصول على مقارنة منطقية ، result هو True فقط إذا كان واحد بالضبط من expression1 و expression2 تقييم ل True. وهذا يعني، فقط إذا كان expression1 و expression2 تقييم معاكس لقيم Boolean . يوضح الجدول التالي كيف يتم تحديد result .

إذا كان expression1 هو

و expression2 هو

قيمة ال result هي

True

True

False

True

False

True

False

True

True

False

False

False

ملاحظة

في المقارنة المنطقية، دوماً عامل تشغيل Xor يقيم كلا التعبيرين ، والتي قد تتضمن عمل استدعاءات للإجراءات. لا توجد أية مطابقة في الدائرة النظيرة ل Xor، لأن النتيجة تعتمد دوماً على كلا معاملات التشغيل. ل العوامل المنطقية للدائرة النظيرة هي ، راجععامل التشغيل AndAlso و عامل OrElse.

للعمليات أحادية البت عامل ال Xor ينفذ مقارنة أحادية البت لكل البت المتطابقة تماماً في الموضع في تعبيرين رقميين و يعيين البت المطابقة في result استناداً إلى الجدول التالي.

إذا كان البت في expression1 هو

و البت في expression2 هو

البت في result هو

1

1

0

1

0

1

0

1

1

0

0

0

ملاحظة

إذا كانت المشغلات المنطقية و مشغلات أحادية البت ذات أسبقية أقل من المشغلات الحسابية و العلاقية الأخرى ، فإن أية عمليات أحادية البت يجب أن تكون بين أقواس للتأكد من دقة التنفيذ .

على سبيل المثال، 5 Xor 3 هي 6. لمعرفة سبب هذا، حول 5 و 3 إلى نظام العد الثنائي الخاص بهم، 101 و 011. ثم استخدم الجدول السابق لتحديد أن Xor ل 101 و 011 هو 110 ، وهو تمثيل ثنائي للرقم العشري 6.

أنواع البيانات

في حالة المعاملات التي تتألف من تعبير واحد من Boolean و تعبير رقمي واحد فإن Visual Basic يحول تعبير Boolean إلى القيمة الرقمية (–1) لـ True و 0 لـ False) و ينفذ عملية أحادية المعامل.

للحصول على مقارنة الBoolean فإن نوع بيانات النتيجة هو Boolean. للمقارنة أحادية المعامل، نوع بيانات النتيجة هو نوع عددي يتناسب مع أنواع بيانات expression1 و expression2. راجع جدول "المقارنات العلاقية و أحادية البت" في أنواع البيانات لنتائج عامل التشغيل.

التحميل الزائد

عامل التشغيل Xor يمكن أن يكون محمل بشكل زائد ، مما يعني أنه يمكن للفئة أو البنية إعادة تعريف سلوكها عندما يُشير مُعامل يحتوي على نوع هذه الفئة أو البنية. إذا كانت التعليمات البرمجية الخاصة بك تستخدم عامل التشغيل هذا على مثل هذه الفئة أو البنية، تأكد من فهم سلوكه المعاد تعريفه. لمزيد من المعلومات، راجع إجراءات عامل التشغيل.

مثال

يستخدم المثال التالي عامل Xorلينفذ استبعاد منطقي على (انفصال منطقي خاص) التعبيرين. تكون النتيجة قيمة Boolean التي تمثل ما إذا كان أحد التعبيرات هو 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

المثال السابق يعطي نتائج من False، True، و False، على التوالي.

يستخدم المثال التالي عامل تشغيل Xor لتنفيذ الاستبعاد المنطقي (انفصال منطقي خاص) على وحدات البت الفردية للتعبيرين الرقميين. يتم تعيين عدد وحدات البت في نقش النتيجة إذا تم تعيين واحد بالضبط من وحدات البت الموافق في المعاملات إلى 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

المثال السابق يعطي نتائج من 2 ،12 و 14 على التوالي.

راجع أيضًا:

المرجع

عوامل تشغيل المنطقية/الأحادية البت

أسبقية عامل التشغيل في Visual Basic

عوامل تشغيل مسرودة حسب الوظيفة

المبادئ

عوامل تشغيل منطقية و Bitwise في Visual Basic