fuddlepixelFuddlepixel coz tech is fun();

Bitwise Operators

Let us introduce ourselves to the Bitwise Operators, which are used for manipulating bits by shifting and performing binary operations.

By Shubham Ramdeo
08 September 2015 · 3 mins read
# c  newbie 

Bitwise Operators

Zeros and ones ! Bits ! They can be shifted and played with too using the Bitwise Operators !

Welcome to the Newbie Programmer Series. We were discussing different types of operators and Bitwise Operators are of them. But Before I started writing this, I need to make some pre-required posts so that I can make Bitwise Operators easy to understand. We will discuss all of them now below. If you are new to this series, please go to index (click here) and read out all the previous articles so that you can easily understand what is going on below.

Bitwise Operators are very useful but their applications are very complex. I am not going to any deep detail.

This post will only help you to get a little introduction of them, we will not study deeply, just to introduce ourselves what they are.

Before Going into Bitwise Operators, Please checkout :

Now let’s get started.

The bitwise Operators are used to perform operations on the Bits. Yes those zeros and ones. By using bitwise operators, we can manipulate the ones and zeros of a value.

For example we have discussed many times the OR operators. It give ‘1’ in result when there exist at least one ‘1’. So on performing :

     110000101
OR   110100011
----------------------
ans. 110100111

But before discussing them let make some variables :

A = 0011 1100 = 60
B = 0000 1101 = 13

(These above variables are suggested by a friend of mine, not my idea ) If you have read the Binary Number System post linked above, You can easily get what zeros and ones would mean.

If you have read the Mathematical Reasoning post linked above, You can easily get what the following operators Below would mean :

Binary AND operator ( & )

If both bits are 1 then resulting bit is 1 otherwise 0

So here: A&B =

     0011 1100
AND  0000 1101
--------------
ans. 0000 1100

which gives (A&B) = 13 as 00001100 means 13 in Binary.

Binary OR operator ( | )

If at least one bit is 1 then resulting bit is 1. Only when both bits are 0 then resulting bit is 0.

So here: A B =
     0011 1100
OR   0000 1101
--------------
ans. 0011 1101
which gives (A B) = 61

Binary XOR operator ( ^ )

Resulting bit is ‘1’ only if it is set in one of the operand but not both.

So here: A^B =

     0011 1100
^    0000 1101
--------------
ans. 0011 0001

which gives (A^B) = 49

Binary NOT ( or complement ) operator ( ~ )

Its simple gives complement of the bits. It reverses ones to zeros and zeros to one.

So here ( ~ A ) = 1100 0011 = -61

Binary Left Shift Operator ( « )

The values of the bits are shifted left by the number of specified shifts. So for example,

A = 0011 1100
A >> 2 = 1111 0000

All the bits got left by 2 spaces.

Binary Right Shift Operators ( » )

The values of the bits are shifted right by the number of specified shifts. So for example,

A = 0011 1100
A << 2 = 0000 1111

Using with assignment

Remember the following shortcuts :

  • C &= 2 is same as C = C & 2
  • C = 2 is same as C = C 2
  • C ^= 2 is same as C = C ^ 2
  • C «= 2 is same as C = C « 2
  • C »= 2 is same as C = C » 2

That’s it for today. I will do NO programs for now as these things are already complex but we need to do an intro. I am gonna end operators with next post.

So Stay Connected.


Share this :



Update me weekly ✉

Subscribe below and we’ll send you a weekly email summary of all new Code tutorials. Never miss out on learning about the next big thing.

I'm in ♥


Or follow us
   


About author

Shubham Ramdeo

Shubham Ramdeo

Shubham Ramdeo is the founder of Fuddlepixel. He is a geek, a writer, involved with many technical and humanity projects.

Meet me!



Recent





Related

c 

newbie 

Top