Arduino/bitwise operators/bitwiseor
< Arduino | bitwise operators
يُجرِي المعامل |
في لغة ++C العملية OR على كل بتين متقابلين من بتات العددين المعطيين بشكل مستقل ويعطي القيمة العددية الناتجة. وفقًا لهذا التعريف، إن كانت قيمة أحد البتَّين 1، فالقيمة الناتجة عن تطبيق العملية OR عليهما هي 1؛ خلا ذلك، ستكون القيمة الناتج هي 0. تفحص الشكل التالي لفهم العملية بوضوح:
0 0 1 1 operand1
0 1 0 1 operand2
----------
0 1 1 1 result = operand1 | operand2
البنية العامة
operand1 & operand2;
أمثلة
مثالٌ على استعمال المعامل |
:
int a = 92; // 0000000001011100 :القمية الثنائية هي
int b = 101; // 0000000001100101 :القيمة الثنائية هي
int c = a | b; // الناتج في النظام الثنائي هو: 0000000001111101 وفي النظام العشري 125
أحد أشهر استعمالات العملية OR مع الأعداد الثنائية هو تعيين القيمة 1 إلى بت محدد (أو مجموعة من البتات) لقيمة عددية صحيحة. تفحَّص المثال التالي الذي يشرح ذلك:
DDRD = DDRD | B11111100;
// (xx | 00 == xx) ضبط البتات من 2 إلى 7 إلى القيمة 1 وترك البت 1 والبت 0 دون تغيير
// مع الأرجل من 2 إلى 7 pinMode(pin, OUTPUT) تشبه هذه العملية تمامًا استدعاء
انظر أيضًا
- المعامل
||
:
- درسٌ عمليٌّ على العمليات الحسابية التي تجرَى على البت.