I understand how to bit shift and all that, but the thing I don't understand is how you would check just the 4 leftmost bits to see if they are a non-zero bit. I have interpreted non-zero to mean 1, as in 0 or 1 in bits. I'm not sure if this is what it means but that's they way I have interpreted it. Also one way I thought about doing this was:
Since 8 bits equals 1 byte, I bit shifted the hashNumber 4 spaces to the right and that would set the four left spots to zero, then I compared them using | to "00000000", and checked to see if the output was still "00000000" and if it was, then that means the 4 leftmost bits must have all been zero's. Does this sound correct to you? Thanks for the assistance.