عملگرهای بولی را میشود درون شرط یک عبارت if استفاده نمود.
عملگرهای بولی در آردوینو
&& (و (and) منطقی):
تنها در صورتی True میشود که هر دو عملوند آن True باشد. برای مثال:
1 2 3 | if (digitalRead(2) == HIGH && digitalRead(3) == HIGH) { // دو سوییچ میخواند // ... } |
فقط اگر هر دو ورودی high باشند، حاصل True است.
|| (یا (or) منطقی):
تنها هنگامی False است که هر دو عملوند False باشد. در تمامی موارد دیگر (هر دو True و یکی True دیگری False) حاصل True خواهد بود. برای مثال:
1 2 3 | if (x > 0 || y > 0) { // ... } |
اگر X یا Y بزرگتر از 0 باشد، حاصل True میشود.
! (نقیض (not)):
اگر عملوند False باشد، حاصل True میشود. برای مثال:
1 2 3 | if (!x) { // ... } |
اگر X=False باشد ( اگر X=0 باشد.)، حاصل True میشود.
هشدار:
توجه کنید که عملگر بولی “و” منطقی (&& ، دو امپرسند) را با عملگر بیتی “و” (& ، تک امپرسند) اشتباه نگیرید. این دو کاملا با هم تفاوت دارند.
همچنین عملگر “یا” بولی (|| ، دو پایپ) نیز از عملگر “یا” بیتی (| ، تک پایپ) متفاوت است.
اما “نقیض” یا not بیتی (~ ، تیلده، مد) با “نقیض” بولی (! ، علامت تعجب یا به قول برنامهنویسان “بنگ”) تفاوت ظاهری زیادی دارد؛ ولی باید کاملا آگاه باشید که از کدام یک و برای کجا میخواهید استفاده کنید.
مثال:
1 2 | if (a >= 10 && a <= 20){} // true if a is between 10 and 20 // در صورتی نتیجه صحیح میشود که متغیر ای بین ده و بیست باشد. |
مطالب مفید دیگر: