Operators in C++ – Part 2
Written by
In the previous chapter, we looked upon the Arithmetic, Assignment and Relational Operators.
Now we will take a look at the Logical, Bitwise and Miscellaneous Operators, in this chapter.
Logical Operators:
Following logical operators are supported by C++ language. Here we have assumed that A holds 1 while B holds 0.
Operator | Description | Example |
&& | AND Operator, returns true if both the operands are non zero | A && B will give False |
|| | OR Operator, returns true if either of the operands are non zero | A || B will give True |
! | NOT Operator, negates the value of the operand | !A will give False
!B will give True |
Bitwise Operators:
Bitwise Operators work on bit level and perform operations on a bit by bit basis, now if we assume A = 60 and B = 13, then the binary representation of these are as follows:
A= 00111100
B=00001101
Now, the Bitwise Operators in C++ will produce the following results as shown:
Operator | Description | Example |
& | Binary AND, copies a bit if it is in both operands | (A & B) will give 12 i.e. 00001100 |
| | Binary OR, copies a bit if it is in either operand | (A | B) will give 61 i.e. 00111101 |
^ | Binary XOR, copies a bit if it is set in one operand | (A ^ B) will give 49 i.e. 00110001 |
~ | Binary Ones, complements the bits | ~A will give -61 i.e. 11000011 in 2’s complement due to signed binary number |
<< | Binary left shift operator, the left operand’s value is moved left by the number of bits specified | A<<2 will give 240 i.e. 11110000 |
>> | Binary right shift operator, the left operand’s value is moved right by the number of bits specified. | A>>2 will give 15 i.e. 00001111 |
Miscellaneous Operators:
There are some Miscellaneous Operators offered by the C++, these are as follows.
Here, A and B are two integer variables with values 20 and 10 respectively.
Operator | Description | Example |
sizeof | Returns the size of the specified variable | sizeof(A) will return 4 |
Cond?X:Y | Conditional Operator, returns X if the condition is true and Y if it is false | A>B?A:B will return A |
, | Comma Operator, is used to separate variables, expressions, etc. | int A,B; |
Note:
The Conditional Operator is the only ternary operator in C++ as it requires three operands to act upon.
This operator also acts as a substitute for the if-else statements. We will learn about them later on.