Arithmetic Operators
Arithmetic Operators in C++ are used to perform arithmetic or mathematical operations on the operands. For example, ‘+’ is used for addition, ‘–‘ is used for subtraction, ‘*’ is used for multiplication, etc. In simple terms, arithmetic operators are used to perform arithmetic operations on variables and data; they follow the same relationship between an operator and an operand.
// C++ program to execute all 5
// arithmetic function
#include <iostream>
using namespace std;
int main()
{
int a, b;
a = 10;
b = 3;
// printing the sum of a and b
cout<< "a + b= " << (a + b) << endl;
// printing the difference of a and b
cout << "a - b = " << (a - b) << endl;
// printing the product of a and b
cout << "a * b = " << (a * b) << endl;
// printing the division of a by b
cout << "a / b = " << (a / b) << endl;
// printing the modulo of a by b
cout << "a % b = " << (a % b) << endl;
return 0;
}
Output:
a + b = 13
a - b = 7
a * b = 30
a / b = 3
a % b = 1
Assignment Operators
Assignment operators are used to assigning value to a variable.
Different types of assignment operators are shown below:
“=”: This is the simplest assignment operator. This operator is used to assign the value on the right to the variable on the left.
“+=”: This operator is combination of ‘+’ and ‘=’ operators. This operator first adds the current value of the variable on left to the value on the right and then assigns the result to the variable on the left.
“-=”This operator is combination of ‘-‘ and ‘=’ operators. This operator first subtracts the current value of the variable on left from the value on the right and then assigns the result to the variable on the left.
“=”This operator is combination of ‘’ and ‘=’ operators. This operator first multiplies the current value of the variable on left to the value on the right and then assigns the result to the variable on the left.
“/=”This operator is combination of ‘/’ and ‘=’ operators. This operator first divides the current value of the variable on left by the value on the right and then assigns the result to the variable on the left.
Example:
#include <iostream>
using namespace std;
int main()
{
// Assigning value 10 to a
// using "=" operator
int a = 10;
cout << "Value of a is "<<a<<"\n";
// Assigning value by adding 10 to a
// using "+=" operator
a += 10;
cout << "Value of a is "<<a<<"\n";
// Assigning value by subtracting 10 from a
// using "-=" operator
a -= 10;
cout << "Value of a is "<<a<<"\n";
// Assigning value by multiplying 10 to a
// using "*=" operator
a *= 10;
cout << "Value of a is "<<a<<"\n";
// Assigning value by dividing 10 from a
// using "/=" operator
a /= 10;
cout << "Value of a is "<<a<<"\n";
return 0;
}
Output:
Value of a is 10
Value of a is 20
Value of a is 10
Value of a is 100
Value of a is 10
Increment and Decrement
The increment operator ++ adds 1 to its operand, and the decrement operator -- subtracts 1 from its operand. So, x = x+1; is the same as x++; And similarly, x = x-1; is the same as x--.
Example:
int a = 10;
int b = 3;
cout<<"Increment Decrement Operators" <<endl;
++a;
++b;
cout << "A " << a << endl;
cout << "B " << b << endl;
int x = 10;
int y = x++;
cout <<"X , Y "<<x<<","<<y <<endl;
int z = ++x;
cout <<"X, Z " << x <<", "<<z <<endl;
Output:
A 11
B 2
X , Y 11,10
X, Z 12,12
Relational Operators
A relational operator is used to check the relationship between two operands. For example,
Example:
int a = 10;
int b = 3;
cout << "Relational Operators" <<endl;
cout << (a>b) <<endl;
Output:
1
Here, > is a relational operator. It checks if a is greater than b or not.
If the relation is true, it returns 1 whereas if the relation is false, it returns 0.
The following table summarizes the relational operators used in C++.
Logical Operators
Truth Table of && Operator
Let a and b be two operands. 0 represents false while 1 represents true. Then,
Example:
// C++ program demonstrating && operator truth table
#include <iostream>
using namespace std;
int main() {
int a = 5;
int b = 9;
// true && false = false
cout << ((a == 5) && (a > b)) << endl;
// true && true = true
cout << ((a == 5) && (a < b)) << endl;
return 0;
}
Output:
0
1
OR Operator
Truth Table of || Operator
Example:
// C++ program demonstrating || operator truth table
include
using namespace std;
int main() {
int a = 5;
int b = 9;
// false && false = false
cout << ((a == 0) || (a > b)) << endl;
// false && true = true
cout << ((a == 0) || (a < b)) << endl;
// true && false = true
cout << ((a == 5) || (a > b)) << endl;
// true && true = true
cout << ((a == 5) || (a < b)) << endl;
return 0;
}
**Output:**
`0
1
1
1`
**NOT Operator !**
Reverse the result, returns false if the result is true.
**Example:**
// C++ program demonstrating ! operator truth table
include
using namespace std;
int main() {
int a = 5;
// !false = true
cout << !(a == 0) << endl;
// !true = false
cout << !(a == 5) << endl;
return 0;
}
**Output:**
`1
0`
## Bitwise Operators
**Binary And &**
It takes two numbers as operands and does AND on every bit of two numbers. The result of AND is 1 only if both bits are 1.
_Rules:_
0 & 0 = 0
1 & 0 = 0
0 & 1 = 0
1 & 1 = 1
**Binary OR |**
It takes two numbers as operands and does OR on every bit of two numbers. The result of OR is 1 if any of the two bits is 1.
_Rules:_
1 | 0 = 1
0 | 1 = 1
0 | 0 = 0
1 | 1 = 1
**Binary XOR ^ (Exclusive OR)**
It takes two numbers as operands and does XOR on every bit of two numbers. The result of XOR is 1 if the two bits are different.
_Rules:_
0 ^ 0 = 0
0 ^ 1 = 1
1 ^ 0 = 1
1 ^ 1 = 0
**Binary Not ~**
It takes one number and inverts all bits of it.
~0 = 1
~1 = 0
**Binary Left Shift**It takes two numbers, left shifts the bits of the first operand, the second operand decides the number of places to shift.
Top comments (0)