عملگر یا بیتی ترکیبی در آردوینو =| است و معمولا به همراه یک متغیر و یک ثابت برای ست کردن (1 کردن) بیتهایی خاص در یک متغیر استفاده میشود.
سینتکس (نحو):
1 2 3 | x |= y; // معادل عبارت: x = x | y; |
پارامترها:
X: متغیری از نوع char , int و یا long
Y: ثابتی از نوع int یا متغیری از نوع char , int و یا long
مثال:
ابتدا مروری بر عملگر یا بیتی (|) میکنیم:
1 2 3 4 5 | 0 0 1 1 operand1 0 1 0 1 operand2 ---------- 0 1 1 1 (operand1 | operand2) - returned result //نتیجهی عملگر یای بیتی |
بیتهایی که با عملگر “یای بیتی”، با 0 OR شدهاند تغییری نکردهاند؛ پس اگر myByte یک متغیر از نوع byte باشد:
1 | myByte | B00000000 = myByte; |
بیتهایی که با عملگر “یای بیتی”، با 1 OR شدهاند، به 1 تبدیل و درواقع ست شدهاند؛ پس:
1 | myByte | B11111111 = B11111111; |
در نتیجه برای ست کردن بیتهای 0 و 1 یک متغیر درحالیکه بقیه بیتها تغییری نکنند، از عملگر و بیتی ترکیبی (=|) با ثابت B00000011 استفاده کنید:
1 2 3 4 5 6 7 | 1 0 1 0 1 0 1 0 متغیر 0 0 0 0 0 0 1 1 ماسک ---------------------- 1 0 1 0 1 0 1 1 این بیتها عوض نشدهاند. این دو بیت ست (1) شدهاند. |
همان مثال بالا، اما جای بیتهای متغیر، نماد X را قرار دادهایم:
1 2 3 4 5 6 7 | x x x x x x x x متغیر 0 0 0 0 0 0 1 1 ماسک ---------------------- x x x x x x 1 1 این دو بیت ست (1) شدهاند. بقیه متغیر تغییر نکردهاست. |
پس اگر:
1 2 3 | myByte = B10101010; myByte |= B00000011 == B10101011; |