in reply to Bitwise and operator question
The 'bitwise AND' compares each bit of the operands and if the corresponding bits both have the value 1, the corresponding bit of the result is set to 1. Otherwise, the corresponding bit of the result is set to 0.
Looking at an example, if $bin = 58, it's binary representation is 00111010. So, going through the lines you mention do the following.
And the numbers down the right hand side are printed out, giving the desired binary represenation.10000000 & 00111010 = 00000000 = 0 .. /128 = 0 01000000 & 00111010 = 00000000 = 0 .. /64 = 0 00100000 & 00111010 = 00100000 = 32 .. /32 = 1 00010000 & 00111010 = 00010000 = 16 .. /16 = 1 00001000 & 00111010 = 00001000 = 8 .. /8 = 1 00000100 & 00111010 = 00000000 = 0 .. /4 = 0 00000010 & 00111010 = 00000010 = 2 .. /2 = 1 00000001 & 00111010 = 00000000 = 0 .. /1 = 0
|
|---|