آردوینو – عملگرها
عملگر یک نماد است که به وسیله آن کامپایلر عملیات ریاضی یا منطقی را پیاده سازی می کند. زبان 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
پایان این جلسه ، امیدوارم براتون مفید واقع بشه