آردوینو – عملگرها
عملگر یک نماد است که به وسیله آن کامپایلر عملیات ریاضی یا منطقی را پیاده سازی می کند. زبان 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
پایان این جلسه ، امیدوارم براتون مفید واقع بشه
اگر این نوشته برایتان مفید بود لطفا کامنت بنویسید.
ممنون میشم راهنمایی کنید که چطور a=61, a=12 شدن
ببخشید اون دستور یا که قیافش مثل دو تا خط عمودی کنار همه رو چجوری میشه با کیبورد نوست؟
سلام، اگر منظورتان «|» هست که بهش vertical bar میگن و اگر دوتا در برنامه نویسی باشن بهش
Logical OR میگن. خب چطوری مینویسن سخته باید عکس کیبرد بدی! ولی شیف را بگیر و تک تک دکمههای کیبرد را بزن. برا من تو لپ تاپ و کیبرد جای متفاوتی است.