در پست قبلی به معرفی انواع داده در زبان برنامهنویسی سی شارپ پرداختیم. در این پست میخواهیم به توضیح علمگرهای ریاضیاتی در زبان برنامهنویسی #C بپردازیم.
عملگرها در زبان برنامهنویسی به عنوان سمبلهایی هستند که به کامپایلر اطلاع میدهند عملیات ریاضیاتی خاصی را انجام دهد. در ادامه با بایت لرن همراه باشید.
زبان برنامهنویسی سی شارپ مجموعهای از علمگرهای توکار (ساخته شده توسط خود زبان و شرکت ماکروسافت) را ارائه میدهد که در تقسیمبندی زیر قرار میگیرند:
- عملگرهای ریاضی
- عملگرهای رابطهای
- عملگرهای منطقی
- عملگرهای بیتی
- عملگرهای انتسابی
- عملگرهای متفرقه
عملگرهای ریاضی
با ارائهی یک مثال کاربردی این عملگر را توضیح خواهیم داد. فرض کنید مقدار A برابر ۱۰ و مقدار B برابر ۲۰ است آنگاه داریم:
Operator Description Example
+ جمع A + B = 30
- تفریق A - B = -10
* ضرب A * B = 200
/ تقسیم B / A = 2
% باقیماندهی تقسیم B % A = 0
++ یک واحد افزایش A++ = 11
-- یک واحد کاهش A-- = 9
عملگرهای رابطهای
Operator Description Example
== تساوی دو مقدار (A == B) is not true.
!= عدم تساوی دو مقدار (A != B) is true.
> بزرگتر (A > B) is not true.
< کوچکتر (A < B) is true.
>= بزرگتر مساوی (A >= B) is not true.
<= کوچکتر مساوی (A <= B) is true.
عملگرهای منطقی
Operator Description Example
&& AND (A && B) is false.
|| OR (A || B) is true.
! مخالف AND = OR !(A && B) is true.
عملگرهای بیتی
این عملگرها روی بیتها اعمال میشود و مشابه عملگرهای منطقی است فرض کنید دو بیت داریم به صورت ۰ و ۱ بنابراین برای جدول درستی آنها داریم:
p q p & q p | q p ^ q
0 0 0 0 0
0 1 0 1 1
1 1 1 1 0
1 0 0 1 1
برای اینکه یک مثال کاربردی تر خدمت شما عزیزان ارائه دهیم تصور کنید که A=60 و B=13 باشد آنگاه شکل باینری این دو عدد به همراه عملگرهای بیتی آن به صورت زیر خواهد بود:
A = 0011 1100
B = 0000 1101
-----------------
A&B = 0000 1100
A|B = 0011 1101
A^B = 0011 0001
~A = 1100 0011
همچنین در جدول زیر به صورت کامل این عملگرها را توضیح میدهیم. فرض کنید A=60 و B=13 آنگاه:
Operator Description Example
& AND (A & B) = 12, which is 0000 1100
| OR (A | B) = 61, which is 0011 1101
^ XOR (A ^ B) = 49, which is 0011 0001 (بیتهای یکسان صفر و بیتهای متفاوت ۱ هستند)
~ مخالف (~A ) = 61, which is 1100 0011 (مقادیر ۰ برابر ۱ و مقادیر ۱ برابر ۰ هستند)
<< انتقال بیت به چپ A << 2 = 240, which is 1111 0000
>> انتقال بیت به راست A >> 2 = 15, which is 0000 1111
عملگرهای انتسابی
Operator Description Example
= تساوی C = A + B مقدار C = مجموع A+B
+= جمع تساوی C += A برابر است با C = C + A
-= تفریق تساوی C -= A برابر است با C = C - A
*= ضر ب تساوی C *= A برابر است با to C = C * A
/= تقسیم تساوی C /= A برابر است با to C = C / A
%= باقیمانده تساوی C %= A برابر است با to C = C % A
<<= انتقال به چپ مساوی C <<= 2 برابر است با C = C << 2
>>= انتقال به چپ مساوی C >>= 2 برابر است با C = C >> 2
&= دستور AND مساوی C &= 2 برابر است با C = C & 2
^= دستور XOR مساوی C ^= 2 برابر است با C = C ^ 2
|= دستور OR مساوی C |= 2 برابر است با C = C | 2
عملگرهای متفرقه
گاهی برخی عملگرها در زبان سی شارپ به صورت تابع یا متد مورد استفاده قرار میگیرند که مطالعهی آنها خالی از لطف نیست. برخی از آنها عبارتند از:
Operator Description Example
sizeof() دستیابی به سایز یک داده sizeof(int), returns 4.
typeof() دستیابی به نوع یک داده typeof(StreamReader);
& دستیابی به آدرس یک متغییر &a; returns actual address of the variable.
* اشاره به یک متغییر *a; creates pointer named 'a' to a variable.
? : عبارت شرطی IF If Condition is true ? Then value X : Otherwise value Y
is مشخص کردن اینکه یک شیء شامل یک نوع خاص است یا نه If( Ford is Car) // checks if Ford is an object of the Car class.
اولویت عملگرهای C#
حال که عملگرهای زبان برنامهنویسی C# را فراگرفتید بهتر است اولویت این عملگرها را بدانیم یعنی اگر داخل یک عبارت مجموعهای از این عملگرها قرار گرفت ابتدا کدامیک محاسبه میشوند:
Category Operator Associativity
پسوندی () [] -> . ++ - - Left to right
محاسباتی جمع تفریق + - ! ~ ++ - - (type)* & sizeof Right to left
ضرب و تقسیم * / % Left to right
جمع و تفریق + - Left to right
انتقال << >> Left to right
رابطهای < <= > >= Left to right
تساوی == != Left to right
AND & Left to right
XOR ^ Left to right
OR | Left to right
AND منطقی && Left to right
OR منطقی || Left to right
شرطی ?: Right to left
انتسابی = += -= *= /= %=>>= <<= &= ^= |= Right to left
کاما , Left to right
بسیار عالی! در این پست با عملگرهای زبان برنامهنویسی سی شارپ آشنایی کامل پیدا کردید. این عملگرها در طول برنامهی شما بسیار کاربردی بوده و همواره مورد استفاده قرار میگیرند لذا در فراگیری آنها دقت عمل به خرج دهید. با ما همراه باشید.
با تشکر از شما، دوستان میتوانید با عضویت در کانال تلگرامی ما جدیدترین مطالب و اخبار رو دریافت کنید .
آدرس کانال :
bytelearn@
مطالب مرتبط با این پست :
بررسی قابلیت های جدید سی شارپ 8
آنچه که باید درباره زبان برنامه نویسی سی شارپ بدانید
برنامه نویسی Net. چیست و چه کاربردی دارد؟