Ok, I give up. I've spent a large chunk of the day on this and it's just not happening. I don't understand how to get either a 1 or 0 from combining $value & 1, $value & 2, $value & 4 et al.
Using the number 51 as my input each time, I get these values -
$value & 1 gives 1,
$value & 2 gives 2,
$value & 4 gives 2,
$value & 8 gives 0,
$value & 16 gives 16,
$value & 32 gives 32,
$value & 64 gives 0,
$value & 128 gives 0. It's not making sense to me...