الفرق بين المراجعتين ل"Arduino/bitwise operators/bitwiseor"

من موسوعة حسوب
اذهب إلى التنقل اذهب إلى البحث
(أنشأ الصفحة ب'يُجرِي المعامل <code>|</code> في لغة ++C العملية OR على كل بتين متقابلين من بتات العددين المعطيين بشكل...')
 
(إضافة محتويات الصفحة.)
سطر 1: سطر 1:
يُجرِي المعامل <code>|</code> في لغة ++C العملية OR على كل بتين متقابلين من بتات العددين المعطيين بشكل مستقل ويعطي القيمة العددية الناتجة. وفقًا لهذا التعريف، إن كانت قيمة أحد البتَّين 1، فالقيمة الناتجة عن تطبيق العملية OR عليهما هي 1؛ خلا ذلك، ستكون القيمة الناتج هي 0. تفحص الشكل التالي لفهم العملية بوضوح:<syntaxhighlight lang="arduino">
+
<noinclude>{{DISPLAYTITLE:المعامل <code>&</code> في  أردوينو}}</noinclude>
 +
يُجرِي المعامل <code>|</code> في لغة ++C العملية OR على كل بتين متقابلين من بتات العددين المعطيين بشكل مستقل ويعطي القيمة العددية الناتجة. وفقًا لهذا التعريف، إن كانت قيمة أحد البتَّين 1، فالقيمة الناتجة عن تطبيق العملية OR عليهما هي 1؛ خلا ذلك، ستكون القيمة الناتج هي 0. اطلع على الشكل التالي لفهم العملية بوضوح:<syntaxhighlight lang="arduino">
 
0  0  1  1    operand1
 
0  0  1  1    operand1
 
0  1  0  1    operand2
 
0  1  0  1    operand2
سطر 17: سطر 18:
 
int c = a | b;  // الناتج في النظام الثنائي هو: 0000000001111101 وفي النظام العشري 125
 
int c = a | b;  // الناتج في النظام الثنائي هو: 0000000001111101 وفي النظام العشري 125
  
</syntaxhighlight>أحد أشهر استعمالات العملية OR مع الأعداد الثنائية هو تعيين القيمة 1 إلى بت محدد (أو مجموعة من البتات) لقيمة عددية صحيحة. تفحَّص المثال التالي الذي يشرح ذلك:<syntaxhighlight lang="arduino">
+
</syntaxhighlight>أحد أشهر استعمالات العملية OR مع الأعداد الثنائية هو تعيين القيمة 1 إلى بت محدَّد (أو مجموعة من البتات) لقيمة عددية صحيحة دون المساس بالبتات المجاورة. تفحَّص المثال التالي الذي يشرح ذلك:<syntaxhighlight lang="arduino">
 
DDRD = DDRD | B11111100;  
 
DDRD = DDRD | B11111100;  
 
// (xx | 00 == xx) ضبط البتات من 2 إلى 7 إلى القيمة 1 وترك البت 1 والبت 0 دون تغيير  
 
// (xx | 00 == xx) ضبط البتات من 2 إلى 7 إلى القيمة 1 وترك البت 1 والبت 0 دون تغيير  
سطر 25: سطر 26:
  
 
== انظر أيضًا ==
 
== انظر أيضًا ==
* المعامل <code>[[Arduino/boolean operators/logicalor|<nowiki>||</nowiki>]]</code>:  
+
* المعامل <code>[[Arduino/bitwise operators/bitwiseand|&]]</code>: يُجرِي في لغة ++C العملية AND على كل بتين متقابلين من بتات العددين المعطيين بشكل مستقل ويعطي القيمة العددية الناتجة.
 +
* المعامل <code>[[Arduino/bitwise operators/bitshiftleft|>>]]</code>: يُجرِي البتات الواقعة على يساره إلى '''اليسار''' عددًا محدَّدًا من الخانات مساويًا للقيمة الموجودة على يمينه.
 +
* المعامل <code>[[Arduino/bitwise operators/bitshiftright|<<]]</code>: يُجرِي البتات الواقعة على يساره إلى '''اليمين''' عددًا محدَّدًا من الخانات مساويًا للقيمة الموجودة على يمينه.
 +
* المعامل <code>[[Arduino/bitwise operators/bitwisexor|^]]</code>: يُجرِي في لغة ++C العملية XOR على كل بتين متقابلين من بتات العددين المعطيين بشكل مستقل ويعطي القيمة العددية الناتجة.
 +
* المعامل <code>[[Arduino/bitwise operators/bitwisenot|~]]</code>: يُجرِي في لغة ++C العملية NOT على كل بت من البتات المعطاة بشكل مستقل -بخلاف المعامل <code>[[Arduino/bitwise operators/bitwiseand|&]]</code> والمعامل <code>[[Arduino/bitwise operators/bitwiseor|<nowiki>|</nowiki>]]</code>- ويعطي القيمة العددية الناتجة.
 +
 
 +
* المعامل <code>[[Arduino/boolean operators/logicalor|<nowiki>||</nowiki>]]</code>: يطبِّق العملية OR المنطقية على قيمتين أو تعبيرين منطقيين ويعيد القيمة المنطقية الناتجة.
  
 
* درسٌ عمليٌّ على العمليات الحسابية التي تجرَى على البت.
 
* درسٌ عمليٌّ على العمليات الحسابية التي تجرَى على البت.
سطر 31: سطر 38:
 
== مصادر ==
 
== مصادر ==
 
* [https://www.arduino.cc/reference/en/language/structure/bitwise-operators/bitwiseor/ صفحة المعامل | في توثيق أردوينو الرسمي.]
 
* [https://www.arduino.cc/reference/en/language/structure/bitwise-operators/bitwiseor/ صفحة المعامل | في توثيق أردوينو الرسمي.]
 +
[[تصنيف: Arduino]]
 +
[[تصنيف: Arduino Operator]]
 +
[[تصنيف: Arduino Bitwise Operator]]

مراجعة 07:08، 11 أكتوبر 2018

يُجرِي المعامل | في لغة ++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) تشبه هذه العملية تمامًا استدعاء

انظر أيضًا

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

مصادر