## Bitwise operators

Bit-wise operators work after the given operands are converted to their binary equivalent value.

## Learning Objectives

- Understanding the concept of bit-wise operators with the help of bit-wise and & and bit-wise or | operators.

## Source Code

`#include <iostream>`

using namespace std;

int main()

{

int x=81,y=61,z;

z=x&y;

cout<<z<<endl;

z=x|y;

cout<<z<<endl;

return 0;

}

## Run Output

## Code Understanding

** z=x&y;**

here the value of x which is 81 and y which is 61 in this example will be converted to binary equivalents

01010001

00111101

Now match vertically the columns bit-wise. Mark a 1 where 1 is present in both top and bottom row. This will yield

00010001

Now convert this value back to decimal. This will result in a value of 17.

**z=x|y;**

In this case instead of check for 1 present in both top and bottom row, check for 1 present in any of the row. This will yield.

01111101

Converting this to decimal will yield 125.

## Code Notes

The list of bit-wise operators is as follows:

& – Bit-wise AND

| – Bit-wise OR (inclusive OR)

^ – Bit-wise exclusive OR

~ – Bit-wise unary complement (Bit inversion)

<< – Bit-wise left shift

>> – Bit-wise right shift

You can try other combinations of bit-wise arithmetic operations.

<< and >> are visibly similar to IO insertion and IO extraction symbols used with cout and cin respectively, but they operate as bit-wise operators when operands on both side are mathematical numbers.

**Suggested Filename(s): **operators-bitwise.cpp, bitwisedemo.cpp, bitop.cpp

CSKC| Created: 16-Dec-2017 | Updated: 29-Jan-2018|