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.