[SOLVED]Problem with binary and shift register

You should just use the logical bit functions. So you can either use the form (1<<n) - one shifted right by n positions - or the bit set/reset functions that are defined in the Arduino header file. Personally I usually use the shifting functions. Pow() will pull in the floating point functions and is rather slow.

Look at bit shft operands <<, >> in any C or C++ manual