المعامل & في أردوينو

من موسوعة حسوب
مراجعة 15:43، 11 أكتوبر 2018 بواسطة جميل-بيلوني (نقاش | مساهمات)
(فرق) → مراجعة أقدم | المراجعة الحالية (فرق) | مراجعة أحدث ← (فرق)

يُجرِي المعامل & في لغة ++C العملية AND على كل بتين متقابلين من بتات العددين المعطيين بشكل مستقل ويعطي القيمة العددية الناتجة. وفقًا لهذا التعريف، إن كانت قيمة كلا البتَّين 1، فالقيمة الناتجة عن تطبيق العملية AND عليهما هي 1؛ خلا ذلك، ستكون القيمة الناتج هي 0. اطلع على الشكل التالي لفهم العملية بوضوح:

0  0  1  1    operand1
0  1  0  1    operand2
----------
0  0  0  1    result = operand1 & operand2

في أردوينو، حجم العدد الصحيح (int) هو 16 بت، لذا يؤدي استعمال المعامل & مع عددين صحيحين إلى تنفيذ 16 عملية AND متزامنة في وقتٍ واحدٍ.

البنية العامة

operand1 & operand2;

أمثلة

في المثال التالي:

int a =  92;    // 0000000001011100 :القيمة الثنائية هي
int b = 101;    // 0000000001100101 :القيمة الثنائية هي
int c = a & b;  // القيمة الثنائية الناتجة هي: 0000000001000100، أو 68  بالنظام العشري

ستُجرَى العملية AND على كل بت من بتات العددين a و b الصحيحين ذوي الحجم 16 بت، وستُخزَّن البتات الناتجة (16 بت) في المتغير c التي تساوي 01000100 في النظام الثنائي و 68 في النظام العشري. أحد أشهر استعمالات العملية AND مع الأعداد الثنائية هو اختيار بت محدَّد (أو مجموعة من البتات) من قيمة عددية صحيحة، وتدعى هذه العملية «التقنيع» (masking). تفحَّص المثال التالي الذي يشرح ذلك:

PORTD = PORTD & B00000011;  
// (xx & 11 == xx) ستُمسَح قيمة البتات من 2 وحتى 7 وسيُترَك البتين 0 و 1 دون تغيير

انظر أيضًا

  • المعامل >>: يُجرِي البتات الواقعة على يساره إلى اليسار عددًا محدَّدًا من الخانات مساويًا للقيمة الموجودة على يمينه.
  • المعامل <<: يُجرِي البتات الواقعة على يساره إلى اليمين عددًا محدَّدًا من الخانات مساويًا للقيمة الموجودة على يمينه.
  • المعامل ^: يُجرِي في لغة ++C العملية XOR على كل بتين متقابلين من بتات العددين المعطيين بشكل مستقل ويعطي القيمة العددية الناتجة.
  • المعامل |: يُجرِي في لغة ++C العملية OR على كل بتين متقابلين من بتات العددين المعطيين بشكل مستقل ويعطي القيمة العددية الناتجة.
  • المعامل ~: يُجرِي في لغة ++C العملية NOT على كل بت من البتات المعطاة بشكل مستقل -بخلاف المعامل & والمعامل |- ويعطي القيمة العددية الناتجة.
  • المعامل &&: يطبِّق العملية AND المنطقية على قيمتين أو تعبيرين منطقيين ويعيد القيمة المنطقية الناتجة.
  • المعامل =&: يُستعمَل المركَّب عادةً مع متغير وثابت لتصفير قيمة بت محدَّد (أي جعله في الحالة LOW).
  • درسٌ عمليٌّ على العمليات الحسابية التي تجرَى على البت.

مصادر