Table of Contents
In this lesson, you will learn about different types of C++ operators and their usage, such as the addition (+), subtraction (-), multiplication (*), and division (/).
What is an operator?
An operator is a symbol that performs an operation, such as the addition symbol +, which tells the compiler to add two or more numbers.
More like this:
Type of operators
Below are the type of operators in C++
- Assignment Operators
- Arithmetic Operators
- Relational Operators
- Logical Operators
- Bitwise Operators
- Misc Operators
Assignment Operators
The Assignment Operator is used to assigning a value to a variable.
x = 5;
where the ‘=’ tells the compiler to set the value of x to 5.
Below is the list of assignment operators in programming.
| Operator | Description | Example |
|---|---|---|
| = | To assigns values from right side operands to left side operand | Z = X + Y |
| += | To adds the right operand to the left operand and assign the result to the left operand. | Z += Y |
| -= | To subtracts the right operand from the left operand and assigns the result to the left operand. | Z -= Y |
| *= | To subtracts the right operand from the left operand and assigns the result to the left operand. | Z * =Y |
| /= | To multiplies the right operand with the left operand and assigns the result to the left operand. | Z / =Y |
| %= | To takes modulus using two operands and assigns the result to the left operand. | Z % = Y |
| <<= | Left shift AND assignment operator. | Z<<=Y |
| >>= | Right shift AND assignment operator. | Z>>=Y |
| &= | Bitwise AND assignment operator. | Z &= 2 |
| ^= | Bitwise exclusive OR and assignment operator. | Z ^= 2 |
| |= | Bitwise inclusive OR and assignment operator. | Z |= 2 |
Example of Assignment Operators in C++
#include <iostream>
using namespace std;
int main ()
{
int x = 10;
int output;
output = x;
cout << " '=' Operator example. The value of output is " << output <<
endl;
output += x;
cout << " '+=' Operator example. The value of output is " << output <<
endl;
output -= x;
cout << " '-=' Operator example. The value of output is " << output <<
endl;
output *= x;
cout << " '-=' Operator example. The value of output is " << output <<
endl;
output /= x;
cout << " '/=' Operator example. The value of output is " << output <<
endl;
output %= x;
cout << " '%=' Operator example. The value of output is " << output <<
endl;
output = 80;
output %= x;
cout << " ' %=' Operator example. The value of output is " << output <<
endl;
output <<= 2;
cout << " '<<=' Operator example. The value of output is " << output <<
endl;
output >>= 2;
cout << " '>>=' Operator example. The value of output is " << output <<
endl;
output &= 2;
cout << " '&=' Operator example. The value of output is " << output <<
endl;
output ^= 2;
cout << " '^=' Operator example. The value of output is " << output <<
endl;
output |= 2;
cout << " '|=' Operator example. The value of output is " << output <<
endl;
return 0;
}
‘=’ Operator example. The value of output is 10
‘+=’ Operator example. The value of output is 20
‘-=’ Operator example. The value of output is 10
‘-=’ Operator example. The value of output is 100
‘/=’ Operator example. The value of output is 10
‘%=’ Operator example. The value of output is 0
‘%=’ Operator example. The value of output is 0
‘<<=’ Operator example. The value of output is 0
‘>>=’ Operator example. The value of output is 0
‘&=’ Operator example. The value of output is 0
‘^=’ Operator example. The value of output is 2
‘|=’ Operator example. The value of output is 2
Arithmetic Operators
Arithmetic, of Mathematical Operators, are used to perform arithmetic operations.
z = x + y
Below are the arithmetic operators available to you.
| Operator | Description | Example |
|---|---|---|
| + | To adds two operands. | X + Y |
| - | To subtracts second operand from the first one. | X - Y |
| * | to multiplies both operands. | X * Y |
| / | To divides the first operands by second one. | X / Y |
| % | Modulus Operator Remainder. | X % Y |
| ++ | To increment operator by 1. | X++ |
| -- | To decrement operator by 1. | X-- |
Example of Arithmetic Operators in C++
#include <iostream>
using namespace std;
int main ()
{
int x = 50;
int y = 20;
int output;
output = x + y;
cout << " '+' Operator example. The value of output is " << output <<
endl;
output = x - y;
cout << " '-' Operator example. The value of output is " << output <<
endl;
output = x * y;
cout << " '*' Operator example. The value of output is " << output <<
endl;
output = x / x;
cout << " '/' Operator example. The value of output is " << output <<
endl;
output = x % y;
cout << " '%' Operator example. The value of output is " << output <<
endl;
output = x++;
cout << " '++' Operator example. The value of output is " << output <<
endl;
output = x--;
cout << " '--' Operator example. The value of output is " << output <<
endl;
return 0;
}
Output
‘+’ Operator example. The value of output is 70
‘-‘ Operator example. The value of output is 30
‘*’ Operator example. The value of output is 1000
‘/’ Operator example. The value of output is 1
‘%’ Operator example. The value of output is 10
‘++’ Operator example. The value of output is 50
‘–‘ Operator example. The value of output is 51
Rational Operators
| Operator | Description | Example |
|---|---|---|
| To checks if the values of two operands are equal or not. | x == y | |
| != | To checks if the values of two operands are equal or not. | x != y |
| > | To checks if the value of the left operand is greater than the value of the right operand. | x>y |
| < | To checks if the value of the left operand is less than the value of the right operand. | x |
| >= | To checks if the value of the left operand is greater than or equal to the value of the right operand. | x>=y |
| <= | To checks if the value of the left operand is less than or equal to the value of the right operand. | x<=y |
Example of Rational Operations in C++
#include <iostream>
using namespace std;
int main() {
int x = 25;
int y = 10;
int c ;
if( x == y ) {
cout << "x is equal to y" << endl ;
}
if( x < y ) {
cout << "x is less than y" << endl ;
}
if( x > y ) {
cout << "x is greater than y" << endl ;
}
x = 10;
y = 25;
if( x <= y ) {
cout << "x is less than or equal to y" << endl ;
}
if( y >= x ) {
cout << "y is greater than or equal to x" << endl ;
}
return 0;
}
Output
x is greater than yx is less than or equal to yy is greater than or equal to x
Logical Operators
Logical Operators are used to determining logic operations between variables or values.
| Operator | Description | Example |
|---|---|---|
| && (logical AND) | It returns true if both conditions are true | (x>5)&&(y<5) |
| || (logical OR) | It returns true if at-least one of the condition is true | (x>=10)||(y>=10) |
| ! (logical NOT) | It reverses the state of the operand “((x>5) && (y<5))” | !((x>5)&&(y<5)) |
Example of Logical Operators in C++
#include <iostream>
using namespace std;
int main() {
int x = 10;
int y = 40;
int c;
if (x && y) {
cout << "Condition is true" << endl;
}
if (x || y) {
cout << "Condition is true" << endl;
}
x = 0;
y = 5;
if (x && y) {
cout << "Condition is true" << endl;
} else {
cout << "Condition is not true" << endl;
}
if (!(x && y)) {
cout << "Condition is true" << endl;
}
return 0;
}
Output
Condition is trueCondition is trueCondition is not trueCondition is true
Bitwise Operators
Bitwise Operators are used for data manipulation at the bit level.
| Operator | Description | Example |
|---|---|---|
| & | "AND" Operator copies a bit to the result if it exists in both operands. | (A & B) |
| | | "OR" Operator copies a bit if it exists in either operand. | (A | B) |
| ^ | "XOR" Operator copies the bit if it is set in one operand but not both. | (A ^ B) |
| ~ | One's Complement Operator is unary and has the effect of 'flipping' bits. | (~A ) |
| << | Left Shift Operator. The left operand's value is moved left by the number of bits specified by the right operand. | A << 2 |
| >> | Right Shift Operator. The left operand's value is moved right by the number of bits specified by the right operand. | A >> 2 |
Example of Bitwise Operators in C++
#include <iostream>
using namespace std;
int main() {
unsigned int x = 3; // 3 = 11 in bit
unsigned int y = 4; // 4 = 100 in bit
int result;
result = x & y;
cout << "x & y is: " << result << endl;
result = x | y;
cout << "x | y is: " << result << endl;
result = x ^ y;
cout << "x ^ y is: " << result << endl;
result = ~x;
cout << "~x is: " << result << endl;
result = x << 2;
cout << "x << 2 is: " << result << endl;
result = x >> 2;
cout << "x >> 2 is: " << result << endl;
return 0;
}
x & y is: 0x | y is: 7x ^ y is: 7~x is : -4x << 2 is: 12x >> 2 is: 0
Miscellaneous Operators
In addition to the above, C++ support the following operators:
Ternary Operators
The Ternary Operator returns one value if the condition is true. Otherwise, it will return another value.
The syntax of Ternary Operators is
Expression1? Expression2: Expression3;
For example
var = (x < 5) ? 10 : 12;
If x is less than 5, the var value is set to 10. Else, it will be set to 12.
sizeof Operator
A very useful operator that returns the size of a variable, depending on its Data Type, or the size of the Data Type itself.
int a; cout sizeof (a); cout sizeof (int);
cast Operator
The cast operator is an operator that converts a Data Type into another.
double x = 3.14; int c ; c = (int) a;
Points to remember
- Type of operators are Assignment, Arithmetic, Relational, Logical, and
Bitwise Operators. - C++ supports ternary sizeof and cast Operators as well.
