# Operators in C++ &#8211; Part 2

Written by

Vaaruni Agarwal

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.