المشغلون#

مقدمة#

المعاملات في لغة C++ هي رموز تُمكّنك من إجراء عمليات على المتغيرات والقيم. تشمل هذه المعاملات العمليات الحسابية والمنطقية والمقارنة والإسناد والعمليات الثنائية. كما تدعم C++ أيضًا الزيادة/النقصان والتعبيرات الشرطية والإسناد المركب. تُشكّل هذه المعاملات جوهر معظم العمليات المنطقية والرياضية في أي برنامج مكتوب بلغة C++، بما في ذلك التحكم في الروبوتات باستخدام VEXcode IQ.

Arithmetic#

اسم

رمز

المشغل

مثال

إضافة

+

a + b

5 + 3 // 8

الطرح

-

a - b

10 - 3 // 7

الضرب

*

a * b

5 * 3 // 15

قسم

/

a / b

10 / 4 // 2 (integer division)

مودولو

%

a % b

10 % 4 // 2

النفي

-

-a

-5 // -5

Augmented Arithmetic#

اسم

رمز

المشغل

مثال

إضافة

+=

a += b

int a = 5;
int b = 3;
a += b; // a = 8

الطرح

-=

a -= b

int a = 10;
int b = 4;
a -= b; // a = 6

الضرب

*=

a *= b

int a = 2;
int b = 3;
a *= b; // a = 6

قسم

/=

a /= b

int a = 10;
int b = 4;
a /= b; // a = 2

مودولو

%=

a %= b

int a = 10;
int b = 3;
a %= b; // a = 1

Comparison#

اسم

رمز

المشغل

مثال

المساواة

==

a == b

5 == 5 // true

عدم المساواة

!=

a != b

5 != 10 // true

أكبر من

>

a > b

10 > 5 // true

أقل من

<

a < b

5 < 10 // true

أكبر من أو يساوي

>=

a >= b

10 >= 10 // true

أقل من أو يساوي

<=

a <= b

5 <= 5 // true

Logical#

اسم

رمز

المشغل

مثال

منطقي و

&&

a && b

true && false // false

أو المنطقي

||

a || b

false || true // true

النفي المنطقي

!

!a

!true // false

Assignment#

اسم

رمز

المشغل

مثال

تكليف

=

a = b

int a = 10;

Bitwise#

اسم

رمز

المشغل

مثال

عملية AND الثنائية

&

a & b

6 & 3 // 2 (0b110 & 0b011)

عملية أو الثنائية

|

a | b

6 | 3 // 7 (0b110 | 0b011)

XOR الثنائي

^

a ^ b

6 ^ 3 // 5 (0b110 ^ 0b011)

نفي ثنائي منطقي

~

~a

~5 // -6

التحويل إلى اليسار

<<

a << b

2 << 3 // 16

انعطاف يمين

>>

a >> b

16 >> 2 // 4

Augmented Bitwise#

اسم

رمز

المشغل

مثال

عملية AND الثنائية

&=

a &= b

int a = 6;
a &= 3; // a = 2

عملية أو الثنائية

|=

a |= b

int a = 6;
a |= 3; // a = 7

XOR الثنائي

^=

a ^= b

int a = 6;
a ^= 3; // a = 5

التحويل إلى اليسار

<<=

a <<= b

int a = 5;
a <<= 2; // a = 20

انعطاف يمين

>>=

a >>= b

int a = 20;
a >>= 2; // a = 5

Ternary (Conditional)#

اسم

بناء الجملة

مثال

المشغل المشروط

condition ? expr1 : expr2

int a = 6;
int b = 3;
int max = (a > b) ? a : b; // max = 6

Increment / Decrement#

اسم

رمز

المشغل

مثال

الزيادة السابقة

++

++a

int a = 5;
int b = ++a;
// a = 6, b = 6

بعد الزيادة

++

a++

int a = 5;
int b = a++;
// a = 6, b = 5

الانخفاض المسبق

--

--a

int a = 5;
int b = --a;
// a = 4, b = 4

ما بعد الانخفاض

--

a--

int a = 5;
int b = a--;
// a = 4, b = 5