الفرق بين المراجعتين لصفحة: «Arduino/bitwise operators/bitwiseor»
< Arduino | bitwise operators
جميل-بيلوني (نقاش | مساهمات) أنشأ الصفحة ب'يُجرِي المعامل <code>|</code> في لغة ++C العملية OR على كل بتين متقابلين من بتات العددين المعطيين بشكل...' |
جميل-بيلوني (نقاش | مساهمات) ط تصحيح العنوان |
||
(3 مراجعات متوسطة بواسطة نفس المستخدم غير معروضة) | |||
سطر 1: | سطر 1: | ||
يُجرِي المعامل <code>|</code> في لغة ++C العملية OR على كل بتين متقابلين من بتات العددين المعطيين بشكل مستقل ويعطي القيمة العددية الناتجة. وفقًا لهذا التعريف، إن كانت قيمة أحد البتَّين 1، فالقيمة الناتجة عن تطبيق العملية OR عليهما هي 1؛ خلا ذلك، ستكون القيمة الناتج هي 0. | <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>أحد أشهر استعمالات العملية 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 المنطقية على قيمتين أو تعبيرين منطقيين ويعيد القيمة المنطقية الناتجة. | |||
* المعامل <code>[[Arduino/compound operators/compoundbitwiseor|=|]]</code>: يُستعمَل المركَّب عادةً مع متغير وثابت من لضبط قيمة بت محدَّد (ضبطه إلى القيمة 1 أو HIGH). | |||
* درسٌ عمليٌّ على العمليات الحسابية التي تجرَى على البت. | * درسٌ عمليٌّ على العمليات الحسابية التي تجرَى على البت. | ||
سطر 31: | سطر 39: | ||
== مصادر == | == مصادر == | ||
* [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:06، 7 نوفمبر 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 المنطقية على قيمتين أو تعبيرين منطقيين ويعيد القيمة المنطقية الناتجة. - المعامل
=|
: يُستعمَل المركَّب عادةً مع متغير وثابت من لضبط قيمة بت محدَّد (ضبطه إلى القيمة 1 أو HIGH).
- درسٌ عمليٌّ على العمليات الحسابية التي تجرَى على البت.