תבחיר
- קוד: בחר הכל
x |= y; // equivalent to x = x | y;
פרמטרים בתחביר:
x - משתנה מסוג
char
, int
או long
y - משתנה מסוג
char
, int
או long
או קבוע עם מספר שלםדוגמה
- קוד: בחר הכל
0 0 1 1 operand1
0 1 0 1 operand2
----------
0 1 1 1 (operand1 | operand2) - returned result
סיביות שעוברות פעולת OR עם 0 לא משנות את הערך שלהן, כך שאם משתנה myByte הוא מסוג byte, פעולה הבאה לא תשנה את הערך שלה:
- קוד: בחר הכל
myByte | B00000000 = myByte;
סיביות שעוברות פעולת OR עם 1 משתנות ל-1, כך שבפעולה הבאה משנה את ערך המשתנה ל-
B11111111
:- קוד: בחר הכל
myByte | B11111111 = B11111111;
כתוצאה מכך, כדי לאלץ את ערכי סיביות 0 ו-1 ל-1, כאשר כל שאר הסיביות ישארו ללא שינוי, השתמשו בפעולה
=|
עם קבוע B00000011
:- קוד: בחר הכל
1 0 1 0 1 0 1 0 variable
0 0 0 0 0 0 1 1 mask
----------------------
1 0 1 0 1 0 1 1
variable unchanged
bits set
כאן תוכלו לראות את אותה פעולה כאשר ערכי הסיביות שונו ל-x בדוגמה:
- קוד: בחר הכל
x x x x x x x x variable
0 0 0 0 0 0 1 1 mask
----------------------
x x x x x x 1 1
variable unchanged
bits set
כך שאם ערך המשתנה
myByte
היה B10101010
, אחרי פעולת =|
עם קבוע B00000011
נקבל B10101011
.ראו גם:
=& (פעולת bitwise AND על...)& (bitwise AND)
| (bitwise OR)
פירוט שפת תכנות לסביבת Arduino
עמוד זה הוא תרגום של compound bitwise OR (|=) לפי רישיון Creative Commons Attribution-ShareAlike 3.0.