[rps-include post=6557]
Operators are leg and arm of the C programming language. A lot of operations done with operators. Operators used to assign, sum, subtract, multiply, divide, remainder, increment, decrement … operations. We will look all of these operations in this chapter. Operators can be grouped like below.
- Arithmetic
- Relational
- Logical
- Bitwise
- Assignment
- Misc
Arithmetic
Arithmetic is most popular usage of operators. Add, Subtract, Multiply, Divide, Modulus, Increment, Decrement operations can be done with arithmetic operators.
Add
Add operator is +
as expected. In the following example two numbers are added and assigned to a variable.
int a= 12+12;
OR
int a= b + c;
Subtract
As usual as subtraction we know which is -
int a = b - c;
OR
int a = 8 -4;
Multiply
Multiply operation can be done with *
operator.
int a = b * c;
OR
int a = 2 * 4;
Divide
Divide operation can be done with /
. The result can not decimal.
int a = b / c;
OR
int a = 4 / 2;
Modulus
Modulus operator will return the remainder or module operation result of two value.
int a = b % c;
OR
int a = 10 / 7;
Increment
Increment operator will increment given variable only.
a++
OR
++a
Decrement
Decrement operation is the reverse of increment. Given variable will be decremented by one with --
operator like below.
a--
OR
--a
Relational
Relational operators generally used to compare two variables about their value. Below relational operators can be found.
Equal
Equal operator will check values of given variables. If these values are equal true
will be returned, if their values are not equal false
will be returned. Equal operator is expressed as ==
int a=12, b=12; (a == b) //wil return true
(a == b)
will return true
int a=12, b=11; (a == b) //wil return false
(a == b)
will return false
Not Equal
Not equal operator is used to compare variables and return true if they are different, returns false if they are same. Not equal operator is expressed as !=
int a=12, b=11; (a != b) //wil return true
(a != b)
will return true
int a=12, b=12; (a != b) //wil return false
(a == b)
will return false
Greater
Greater operator is used to test id one variable is greater then other. Greater operator can be expressed with >
int a=5, b=10; a > b
In this situation a>b
will return false because b
is greater than a
int a=15, b=10; a > b
In this situation a>
b will return true because a is greater than b
Lower
Lower operator is used to test id one variable is lower then other. Lower operator can be expressed with <
int a=5, b=10; a < b
In this situation a<b
will return true because b
is lower than a
int a=15, b=10; a < b
In this situation a>
b will return false because a is lower than b
Equal or Greater
Equal or Greater operator is similar to greater operator with addition to check equality with greatness. Equal or great will check if variables are equal or greater
int a=10, b=10; a >= b
This will return true because two variables are equal which is acceptable by our operator.
Equal or Lower
Equal or Lower operator is similar to lower operator with addition to check equality with lowness. Equal or lower will check if variables are equal or lower
int a=10, b=10; a <= b
This will return true because two variables are equal which is acceptable by our operator.
Logical
Logical operators are important part of decition making. They are generally used with if, for, while keywords where we will look next chapters in detail.
And
And operator is a logical operator. And operator is expressed with &&
true && true //is true true && false //is false false && true //is false false && false //is false
Or
Or is a logical operator. Or operator can be expressed with ||
true || false //is true true || true //is true false || true //is true false || false //is false
Not
Not operator is used with logic true
and false
. Not will revert given value
bool a = true; !a // is equal false
Bit-wise
Bitwise operators are used to change variables with binary operations.
Binary And
This operation will And
two variables in a binary manner with their binary presentations.
int a=1; // Binary presentation is 00000001 int b=3; // Binary presentation is 00000011 int result = a & b; // Result will be 00000001
Binary Or
This operation will Or two variables in a binary manner with their binary presentations.
int a=1; // Binary presentation is 00000001 int b=3; // Binary presentation is 00000011 int result = a | b; // Result will be 00000011
Binary Xor
This operation will Xor
two variables in a binary manner with their binary presentations.
int a=1; // Binary presentation is 00000001 int b=3; // Binary presentation is 00000011 int result = a ^ b; // Result will be 00000010
Binary One Complement
This operator will complement variables in binary form
int a=1; // Binary presentation is 00000001 int result = ~a ; // Result will be 11111101
Binary Left Shift
This operator will shift specified step left the binary presentation of variable.
int a=1; // Binary presentation is 00000001 int result = a << 2 ; // Result will be 00000100
Binary Right Shift
This operator will shift specified step right the binary presentation of variable.
int a=1; // Binary presentation is 00000001 int result = a >> 2 ; // Result will be 01000000
Assignment
Assignment is a popular operator used most of time for numerical operations.
int a = 3; // Variable a will be 3
[rps-include post=6557]