PHP Bitwise Tutorial : Bits, Bytes, and Binary Math

Now a days, I am preparing for ZCE. Bitwise operation was something which was a headache for me. So when I was searching for some good tutorial on internet. I got this. Its really a very nice tutorial about the Bitwise operations in PHP and Bits, Bytes, and Binary Math. So I thought to share with you techies. Enjoy!

BINARY MATH INTRODUCTION

The bitwise operators utilize something called Binary Math. If you already know binary math, skip ahead. Binary math is a BASE 2 numbering system, where as our normal everyday numbering system is a BASE 10 system. Think back to elementary school where we learned numbers this way…

Think of the number 4768. Thats a normal everyday decimal number.

If you write that out full its 4 THOUSAND, 7 HUNDRED, 6 TENS, 8 ONES
or (4 * 103) + (7 * 102) + (6 * 101) + (8 * 100) = 4768

The BASE 2 system has the same concept however it goes by 2′s instead of 10s. So you can only have a value of 0 or 1. Lets look at a binary number

00101101 = (0 * 27) + (0 * 26) + (1 * 25) + (0 * 24) + (1 * 23) + (1 * 22) + (0 * 21) + (1 * 20) = 32 + 8 + 4 + 1 = 45

Wow thats alot of math. Lets break it down piece by piece starting with the first parentheses.

(0 * 27) which means 0 TIMES 2 to the POWER of 7 or 0 * ( 2 * 2 * 2 * 2 * 2 * 2 * 2) which basically comes out to 0 * 128 which equals 0 (0 times anything is 0)

so going down our binary number we can see it calculates like this:

0 – (0 * 128) = 0
0 – (0 * 64) = 0
1 – (1 * 32) = 32
0 – (0 * 16) = 0
1 – (1 * 8 ) = 8
1 – (1 * 4) = 4
0 – (0 * 2) = 0
1 – (1 * 1) = 1

so add those all up together 32 + 8 + 4 + 1 and you get 45

Bits, Bytes, and Binary Math

What is a bit? A bit is a representation of 1 or 0. Basically OFF and ON. Why do computers use such simple math? Well computers process with electric current so if the current is over a certain level the computer considers that to mean ON or 1 and if it is under that level it is set to OFF or 0.

What is a byte? A byte is made up of 8 bits and the highest value of a byte is 255, which would mean every bit is set. We will look at why a byte’s maximum value is 255 in just a second.

What does a byte look like?

1 Byte ( 8 bits )
Place Value
128
64
32
16
8
4
2
1



That is a representation of 1 Byte.
The “Place Value” column represents the math we did doing 2 to the power of 7,6,5,4,3,2,1,0

So if all bits are set and the value = 255 my byte would look like this

1 Byte ( 8 bits )
Place Value
128
64
32
16
8
4
2
1
1
1
1
1
1
1
1
1
=
255



How do we get 255?

Lets take it right to left and add up all those values together
1 + 2 + 4 + 8 + 16 + 32 + 64 + 128 = 255

What would the number 22 look like?

1 Byte ( 8 bits )
Place Value
128
64
32
16
8
4
2
1
0
0
0
1
0
1
1
0
=
22



2 + 4 + 16 = 22

Lets look at some other examples of decimal to binary, the ones on the end try for yourself.

43 = 00101011
4 = 00000100
230 = ?
65 = ?
31 = ?

Read more

Share and Enjoy:
  • Print
  • PDF
  • email
  • LinkedIn
  • del.icio.us
  • Facebook
  • Digg
  • Google Bookmarks
  • Yahoo! Buzz

Related posts:

  1. Remember the binary of any decimal number with your fingures

1 Comment

  1. R Gautam says:

    I want to ask from Anil sir that,I am a fresher and,I am interested in making my career in PHP,but many people are saying that php developers are paid much less than .net and java developer,and so most of the freshers hesitates to join php and go for java and .net.They says that only web applications can be developed in php,how much this all true what should I do.You can mail me at..rajeshgautam007@gmail.com

Post a Comment

Your email is never published nor shared. Required fields are marked *

*
*