در این بخش، در مورد انواع عملگرها در آردوینو صحبت میکنیم. همونطور که تا اینجا یاد گرفتیم، آردوینو یک پلتفرم هستش که با میکروکنترلر ها کار میکنه و سرعت آموزش و یادگیری الکترونیک بسیار بالا میبره. در این مطلب، انواع عملگرها را معرفی کرده و هر کدام را جداگانه بررسی میکنیم. در جلسه گذشته نیز، راجع به انواع متغیرها در آردوینو صحبت شد که توصیه میکنم اگر مطالعه نکردید حتما به اون سر بزنید.
انواع عملگرها در آردوینو
عملگرها در آردوینو به صورت کلی به 6 دسته تقسیم میشن و این دسته ها کامل هستند پس نگران کامل نبودن آموزش نباشید و مطمئن باشید هر آن چه وجود دارد را ما در آموزش ها آوردهایم. در زیر انواع عملگرها را مشاهده میکنید.
- عملگرهای ریاضی
- عملگرهای مقایسه ای
- عملگرهای بولین
- عملگرهای بیتی
- عملگرهای ترکیبی
- عملگرهای دسترسی به اشاره گر
1.عملگرهای ریاضی: عملگرهای ریاضی (*) ، (/ ) ، (+) ، ( – ) و باقی مانده هستند (ضرب و تقسیم و جمع و تفریق).
این عملگرها روی 2 تا متغیر کار میکنن و حاصل عملیات رو روی یک متغیر سوم که جدید هست میریزن.
نام عملگر | نماد عملگر | توضیحات | مثال |
تخصیص (درون ریز) | = | مقدار سمت راست علامت تساوی را در متغیر سمت چپ علامت تساوی ذخیره میکند | A = B |
جمع | + | دو متغیر را با هم جمع میکند | A + B |
تفریق | – | دومین متغیر را از اولی کم میکند | A – B |
ضرب | * | متغیرها را در هم ضرب میکند | A * B |
تقسیم | / | متغیر اول را بر دوم تقسیم میکند | B / A |
باقیمانده | % | باقیمانده بعد از تقسیم متغیر اول بر دوم را برمیگرداند | B % A |
1 2 3 4 5 6 7 8 9 |
void loop () { int A = 20,B = 5,c = 0;// متغیرها را تعریف میکنیم c = A + B ; // جمع دو متغیر روی متغیر سوم ریخته میشود c = A - B ; // تفریق دو متغیر روی متغیر سوم ریخته میشود c = A * B ; // ضرب دو متغیر روی متغیر سوم ریخته میشود c = A / B ; // تقسیم دو متغیر روی متغیر سوم ریخته میشود c = A % B ; // باقی مانده تقسیم دو متغیر روی متغیر سوم ریخته میشود } |
1 2 3 4 5 6 |
A + B = 25 A - B = 15 A * B = 100 A / B = 4 A % B = 0 // باقی مانده تقسیم بیست بر پنج برابر صفر میباشد |
2. عملگرهای مقایسهای : این عملگرها روی 2 تا متغیر کار میکنن و حاصل عملیات رو که true یا false است بر میگردانند. دقت کنید که true یا false در حقیقت همان 0 یا 1 میباشند که به معنای صحیح یا غلط بودن نتیجه مقایسه است.
نام عملگر | نماد | توضیحات | مثال |
تساوی |
== |
اگر دو متغیر دقیقا با یکدیگر برابر باشند نتیجه true میشود و درغیر این صورت false. |
A == B |
نامساوی |
!= |
این عملگرد دقیقا برعکس عملگر تساوی عمل میکند. |
A != B |
کوچکتر |
< |
اگر متغیر اول از دومی کوچکتر باشد مقدار true را برمیگرداند و درغیر این صورت false . |
A < B |
بزرگتر |
> |
این عملگرد دقیقا برعکس عملگر کوچکتر عمل میکند. |
A > B |
کوچکتر مساوی |
<= |
اگر متغیر اول از دومی کوچکتر یا مساوی باشد مقدار true را برمیگرداند و درغیر اینصورت false . |
A <= B |
بزرگتر مساوی |
>= |
این عملگر دقیقا برعکس عملگر کوچکتر مساوی عمل میکند. |
A >= B |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 |
void loop () { int َA = 20,B = 5; // تعریف کردن متغیر ها bool C = false; // تعریف متغیر بولن برای مشاهده حاصل عملگر if(A == B) //بررسی تساوی C = true; else C = false; if(A != B) // بررسی ناتساوی C = true; else C = false; //rasdino.ir // برای این آموزش زمان زیادی صرف شده است ما را از نظرات با ارزش خود محروم نکنید 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; } |
1 2 3 4 5 6 7 |
C = false // مقدار 20 با 5 برابر نیست C = true // مقدار 20 با 5 برابر نیست C = false // مقدار 20 کوچکتراز 5 نیست C = true // مقدار 20 بزرگتر 5 است C = false // مقدار 20 کوچکتر یا مساوی با 5 نیست C = true // مقدار 20 بزرگتر یا مساوی با 5 است |
3. عملگرهای بولین : سومین نوع از عملگرها در آردوینو ، عملگرهای بولین میباشند. این عملگر 3 عملیات منطقی AND , OR , NOT را بر عهده دارد.
نام عملگر | نماد عملگر | توضیحات | مثال |
and | && | اگر هر دو متغیر غیر صفر باشند حاصل برابر true در غیراینصورت false. | (A && B) |
or | || | اگر یکی از متغیرها غیر صفر باشد نتیجه true خواهد بود در غیراینصورت false. | (A || B) |
not | ! | برای معکوس کردن مقدار عددی یک متغیر به کار میرود. | !(A && B) |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
void loop () { int A = 20,B = 5; bool C = 0; if((A > B) && (B < A)) C = true; else C = false; if((A == B) || (B < A)) C = true; else C = false; //rasdino.ir // برای این آموزش زمان زیادی صرف شده است ما را از نظرات با ارزش خود محروم نکنید if( !(A == B) && (B < A)) C = true; else C = false; } |
1 2 3 4 |
C = true // هر دو پرانتز صحیح هستند بنابراین حاصل صحیح میباشد C = true // تنها پرانتز دوم صحیح میباشد ویکی از شرایط برقرار است پس صحیح است C = true // در هر دو پرانتز شرایط برقرار است پس حاصل صحیح میباشد |
امیدواریم که تا این قسمت از آموزش خسته نشده باشید. سعی کنید صبر خودتان را افزایش دهید و مطالب را دقیق و با جزئیات یاد بگیرید، اگر قرار است یک برنامه نویس موفق باشید!
4.عملگرهای منطقی ( بیتی ) : این عملگرها با بیت سر و کار دارند و دقت کنید که با عملگرهای بولین کاملا متفاوتند . بیت ها میبایست ارزش مکانی یکسانی داشته باشند یا به اصطلاح متناظر هم باشند.
نام عملگر |
نماد عملگر |
توضیحات |
مثال |
and |
& |
عملیات AND روی بیت های دو متغیر انجام میشود. اگر بیتهای متناظر متغیر اول و دوم هر دو یک باشند حاصل برابر یک خواهد وگرنه صفر. |
(A & B) |
or |
| |
عملیات OR روی بیتهای دو متغیر انجام میشود. کافیست یکی از بیتهای متناظر متغیر اول و دوم یک باشد حاصل برابر یک خواهد وگرنه صفر. |
(A | B) |
xor |
^ |
عملیات XOR روی بیت های دو متغیر انجام میشود. اگر فقط یکی از بیتهای متناظر متغیر اول و دوم یک باشد حاصل برابر یک خواهد وگرنه صفر. |
(A ^ B) |
not |
~ |
عملیات OR روی بیتهای یک متغیر انجام میشود. بیت ها را معکوس میکند. |
(~A) |
shift left |
>> |
عملیات شیفت روی بیتهای یک متغیر انجام میشود. بیت ها را به تعداد مورد نظر به سمت چپ حرکت میدهد. |
A << 2 |
shift right |
<< |
عملیات شیفت روی بیتهای یک متغیر انجام میشود. بیت ها را به تعداد مورد نظر به سمت راست حرکت میدهد. |
A >> 2 |
1 2 3 4 5 6 7 8 9 10 11 |
void loop () { int A = 20,B = 5; int C = 0 ; C = A & B ; C = A | B ; C = A ^ B ; C = ~ A ; C = A << 3 ; C = A >> 2 ; } |
1 2 3 4 5 6 7 8 |
C = 4 // binary: 00010100 & 0101 = 0100 C = 21 // binary: 00010100 | 0101 = 00010101 C = 17 // binary: 00010100 ^ 0101 = 00010001 C = -21 // binary: 00010100 ~ = 11101011 C = 160 // binary: 00010100 << 3 = 10100000 C = 5 // binary: 00010100 >> 2 = 00000101 //rasdino.ir//برای این آموزش زمان زیادی صرف شده است ما رااز نظرات با ارزش خود محروم نکنید |
5.عملگرهای ترکیبی (مرکب) : این عملگرها ترکیب دو عملگر ریاضی هستند که بسیار پرکاربرد بوده و از ویژگیهای زبان ++C میباشد که کار را بسیار سریع و آسان میکند.
نام عملگر | نماد عملگر | توضیحات | مثال |
افزایش |
++ |
این عملگر مقدار عدد صحیح را یکی اضافه میکند |
++ A
|
کاهش |
— |
این عملگر مقدار عدد صحیح را یک واحد کم میکند |
--A |
جمع مرکب |
+= |
این عملگر در واقع متغیر سمت راست را به متغیر سمت چپ اضافه میکند و نتیجه آن را در متغیر سمت چپ قرار میدهد. |
B += A |
تفریق مرکب |
-= |
این عملگر، متغیر سمت راست را از متغیر سمت چپ کم میکند و نتیجه را به متغیر سمت چپ تخصیص میدهد |
B -= A |
ضرب مرکب |
*= |
این عملگر متغیر سمت راست را در متغیر سمت چپ ضرب میکند و نتیجه را در متغیر سمت چپ قرار میدهد |
B*= A |
تقسیم مرکب |
/= |
این عملگر، متغیر سمت چپ را بر متغیر سمت راست تقسیم میکند و نتیجه را به متغیر سمت چپ تخصیص میدهد |
B /= A |
باقی مانده مرکب |
%= |
این عملگر باقیمانده حاصل از تقسیم عملگر سمت چپ بر عملگر سمت راست را محاسبه میکند و نتیجه را در متغیر سمت چپ قرار میدهد |
B %= A |
OR بیتی مرکب |
|= |
این عملگر نتیجه عملیات OR منطقی دو متغیر را درون متغیر سمت چپ میریزد |
A |= 2 |
AND بیتی مرکب |
&= |
این عملگر نتیجه عملیات AND منطقی دو متغیر را درون متغیر سمت چپ میریزد |
A &= 2 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
void loop () { int A = 20,B = 5 ; //rasdino.ir // برای این آموزش زمان زیادی صرف شده است ما را از نظرات با ارزش خود محروم نکنید A++; A--; B += A; B -= A; B *= A; B /= A; A %= B; A |= B; A &= B; } |
1 2 3 4 5 6 7 8 9 10 |
A = 21 // 20+1 // یک واحد به متغیر اضافه شد A = 19 // 20-1 // یک واحد از متغیر کم شد B = 25 // 20+5 // دو متغیر با هم جمع شدند B = 15 // 20-5 // دو متغیر از هم کم شدند B = 100 // 20*5 // دو متغیر در هم ضرب شدند B = 4 // 20/5 // دو متغیر بر هم تقسیم شدند A = 0 // 20%5 // باقی مانده تقسیم متغیر اول بر دوم برابر صفر شد A = 21 // 20 | 5 // شدن متغیر اول با متغیر دوم OR A = 4 // 20 & 5 // شدن متغیر اول با متغیر دوم AND |
6.عملگرهای اشارهگر : آخرین نوع از انواع عملگرها در آردوینو ، اشارهگر یا Pointer است. اشارهگر در آردوینو شامل دو عملگر است. (یکی عملگر * و دیگری عملگر &) از عملگر * برای دسترسی به محتویات جایی که اشارهگر به آن اشاره میکند و از عملگر & برای به دست آوردن آدرس متغیر استفاده میشود.
1 2 3 4 5 6 7 |
void loop(){ int A = 12; int *P; P = &A; *P = 18; } |
اشارهگرها در حقیقت نوعی انتساب غیر مستقیم هستند که در زبانهای سطح بالا استفاده میشوند. در شروع برنامه نویسی مفهوم اشارهگر شاید کمی سخت به نظر برسد؛ پس نگران نباشید و اگر خوب متوجه نشده اید .میتوانید آموزش کامل اشاره گر ها را از اینجا مطالعه نمایید
امیدوارم این آموزش که در مورد انواع عملگرها در آردوینو بود برای شما مفید بوده باشه. اگر سوال یا نظری داشتید حتما در قسمت نظرات مطرح کنید تا هرچه سریعتر پاسخگوی شما دوستان عزیز باشیم.
6 پاسخ
سلام و وقت بخیر ببخشید کدی که تو محیط آردینو نوشته میشه رو چه جور باید ران کرد ، ممنون اگه پاسخ بدید .
با سلام جهت بررسی یا کامپایل کردن کد میبایست از روی ایکون های میانبر بالای صفحه بر روی تیک یا verify بزنید تا خطاها برسی شوند.جهت اجرای کد باید ان را روی یک برد اپلود نمایید یا از نرم افزار های شبیه ساز استفاده نمایید.
سلام
تشکر بابت مطالب ارائه شده
عالی
مختصر
کاملا جامع و مفید
سپاسگذاریم
مثل همیشه عالی بودید.