آردوینو – عملگرها
عملگر یک نماد است که به وسیله آن کامپایلر عملیات ریاضی یا منطقی را پیاده سازی می کند. زبان C دارای تعداد زیادی عملگر داخلی است و شامل موارد زیر میشود:
- عملگرهای محاسباتی
- عملگرهای مقایسهای
- عملگرهای بولی
- عملگرهای بیتی
- عملگرهای ترکیبی
عملگرهای محاسباتی
نام اپراتور | نماد اپراتور | توضیحات | مثال |
عملگر تخصیص | = | ذخیره سازی متغیر سمت راست در متغیر سمت چپ | |
جمع | + | جمع کردن دو عملوند | |
تفریق | – | تفریق دومین متغیر از اولین متغیر | |
ضرب | * | ضرب دو عملوند | |
تقسیم | / | تقسیم صورت بر مخرج | |
باقی مانده | % | باقی مانده تقسیم |
مثال
void loop () { int a=9,b=4,c; c=a+b; c=a-b; c=a*b; c=a/b; c=a%b; }
نتیجه
a+b=13 a-b=5 a*b=36 a/b=2 Remainder when a divided by b=1
عملگرهای مقایسهای
نام اپراتور | نماد اپراتور | توضیحات | مثال |
برابری | == | خروجی صحیح (true) در صورت مساوی بودن دو عملوند | |
نابرابری | =! | خروجی صحیح در صورت نامساوی بودن دو عملوند | |
کوچکتر از | < | خروجی صحیح در صورت کوچکتر بودن عملوند سمت چپ از سمت راست | |
بزرگتر از | > | خروجی صحیح در صورت بزرگتر بودن عملوند سمت چپ از سمت راست | |
کوچکتر یا مساوی | =< | خروجی صحیح در صورت کوچکتر یا مساوی بودن عملوند سمت چپ از سمت راست | |
بزرگتر یا مساوی | => | خروجی صحیح در صورت بزرگتر یا مساوی بودن عملوند سمت چپ از سمت راست |
مثال
void loop () { int a=9,b=4 bool c = false; if(a==b) c=true; else c=false; if(a!=b) c=true; else c=false; if(a<b) c=true; else c=false; if(a>b) c=true; else c=false; if(a<=b) c=true; else c=false; if(a>=b) c=true; else c=false; }
نتیجه
c=false c=true c= false c=true c= false c= false
عملگرهای بولی
نام اپراتور | نماد اپراتور | توضیحات | مثال |
And | && | علمگر AND | |
Or | || | علمگر یا منطقی، در صورتی خروجی صحیح (true) است که یکی از عملوندها غیر صفر باشند | |
not | ! | عملگر نفی منطقی، در صورتی خروجی صحیح (true) است که عملوند صفر باشد (مشابه not در درس مدار منطقی) |
مثال
void loop () { int a=9,b=4 bool c = false; if((a>b)&& (b<a)) c=true; else c=false; if((a==b)|| (b<a)) c=true; else c=false; if( !(a==b)&& (b<a)) c=true; else c=false; }
نتیجه
c=true c=true c= true
عملگرهای بیتی
نام اپراتور | نماد اپراتور | توضیحات | مثال |
And | & | علمگر AND یک بیت را در خروجی ایجاد میکند در صورتی که هر دو بیت یک باشند (مشابه درس مدار منطقی) | |
Or | | | علمگر OR یک بیت را در خروجی ایجاد میکند در صورتی که یکی از بیت ها یک باشد (مشابه درس مدار منطقی) | |
Xor | ^ | علمگر Xor یک بیت را در خروجی ایجاد میکند در صورتی که یکی از بیت ها یک و دیگری صفر باشد (مشابه درس مدار منطقی) | |
Not | ~ | علمگر not یک بیت صفر را یک و یک را صفر میکند (مشابه درس مدار منطقی) | |
shift left | >> | علمگر سمت چپ را به تعداد عملوند سمت راست به چپ جا به جا میکند | |
shift right | << | علمگر سمت چپ را به تعداد عملوند سمت راست به راست جا به جا میکند |
مثال
void loop () { int a=10,b=20 int c = 0; c= a & b ; c= a | b ; c= a ^ b ; c= a ~ b ; c= a << b ; c= a >> b ; }
نتیجه
c=12 c=61 c= 49 c=-60 c=240 c=15
عملگرهای ترکیبی
نام اپراتور | نماد اپراتور | توضیحات | مثال |
افزایش | ++ | افزایش یک واحدی عملوند | |
کاهش | — | کاهش یک واحدی عملوند | |
جمع ترکیبی | =+ | جمع عملوند سمت راست با عملوند سمت چپ و ریختن نتیجه در عملوند سمت چپ | |
تفریق ترکیبی | =- | تفریق عملوند سمت راست از عملوند سمت چپ و ریختن نتیجه در عملوند سمت چپ | |
ضرب ترکیبی | =* | ضرب عملوند سمت راست با عملوند سمت چپ و ریختن نتیجه در عملوند سمت چپ | |
تقسیم ترکیبی | =/ | تقسیم عملوند سمت راست بر عملوند سمت چپ و ریختن نتیجه در عملوند سمت چپ | |
باقی مانده ترکیبی | =% | محاسبه باقی مانده عملوند سمت راست بر عملوند سمت چپ و ریختن نتیجه در عملوند سمت چپ | |
OR ترکیبی | =| | محاسبه OR عملوند سمت راست با عملوند سمت چپ و ریختن نتیجه در عملوند سمت چپ | |
AND ترکیبی | =& | محاسبه AND عملوند سمت راست با عملوند سمت چپ و ریختن نتیجه در عملوند سمت چپ |
مثال
void loop () { int a=10,b=20 int c = 0; a++; a--; b+=a; b-=a; b*=a; b/=a; a%=b; a|=b; a&=b; }
نتیجه
a=11 a=9 b=30 b=10 b=200 b=2 a=0 a=61 a=12
پایان این جلسه ، امیدوارم براتون مفید واقع بشه
منبع: میکرودیزاینرالکترونیک