facebook pixel מדריך: פירוט שפת תכנות - =| (פעולת bitwise OR על...) - www.4project.co.il
Main logo www.4project.co.il
כל הרכיבים לפרוייקט שלכם
עגלת קניות

העגלה ריקה

לקוחות נכבדים, אלה שעות הפעילות של המחסן במהלך יום העצמאות:
ביום הזכרון/ערב עצמאות (יום שני 13/05) - המחסן סגור
יום עצמאות (יום שלישי 14/05) - המחסן סגור
נחזור לפעילות רגילה ביום רביעי 15/05
יום עצמאות שמח (עד כמה שאפשר).

פירוט שפת תכנות - =| (פעולת bitwise OR על...)


2022-06-14 11:05:10
פעולה משולבת של השמה ו-OR על סיביות נפוצה בשימוש בין משתנה וקבוע כדי לאלץ סיביות מסוימות במשתנה למצב HIGH (ערך 1).

תבחיר

קוד: בחר הכל
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.