Back to the barrel shifter

As you can see from the above examples, each column in a

binary number is a multiplication of 2. The barrel shift,

shifts binary bits in a number left and right and as a

result is able to multiply and divide by 2 extremely fast.

This is very handy if for example we are working with binary

streams (such as if we where doing heavy number crunching in

a compression system), and if we are chopping up and packing

numbers.

binary number is a multiplication of 2. The barrel shift,

shifts binary bits in a number left and right and as a

result is able to multiply and divide by 2 extremely fast.

This is very handy if for example we are working with binary

streams (such as if we where doing heavy number crunching in

a compression system), and if we are chopping up and packing

numbers.

Again, if this is a subject that interests you then there

are many white papers and educational texts available that

cover number theory, just be aware that if your divisions

and/or multiplications are powers of two, or if you need to

isolate only a single bit in a number then using the barrel

shifter is an extremely efficient way to do it.

are many white papers and educational texts available that

cover number theory, just be aware that if your divisions

and/or multiplications are powers of two, or if you need to

isolate only a single bit in a number then using the barrel

shifter is an extremely efficient way to do it.

Number comparisons

In any computer language, the ability to check numbers that

are in a given range is a must. You saw it earlier in the

example of a for loop, and like loops in general we’ll cover

decisions in more detail when we cover loops and decisions

in a later article, for now though we check ranges by using

the following operators:

are in a given range is a must. You saw it earlier in the

example of a for loop, and like loops in general we’ll cover

decisions in more detail when we cover loops and decisions

in a later article, for now though we check ranges by using

the following operators:

- $a
- $a > $b; // Is $a greater than $b
- $a => $b; // Is $a equal to or greater than $b
- $a =
- $a == $b; // Is $a equal to $b

Normally you would use these in an “if” statement similar to the following:

if($a > $b) { // Do stuff if a is greater than b } else { // Do stuff if it's not }

Summary

In this episode we’ve looked at basic math operations in

PHP, and had a recap on binary. As with strings and text

there is a huge number of functions that operate on numbers.

PHP, and had a recap on binary. As with strings and text

there is a huge number of functions that operate on numbers.

There are functions to generate random numbers, or do

complex math using sines & cosines.

complex math using sines & cosines.

As always I encourage you to look at the appropriate

sections in the PHP Manual, and

experiment with what you find there. Remember half of the

fun of programming is breaking things, then learning how to

fix them.

sections in the PHP Manual, and

experiment with what you find there. Remember half of the

fun of programming is breaking things, then learning how to

fix them.

Until next time

Shawty

Shawty