((gRoofLocked & 2^number) != 0)
evaluates to "true" for the appropriate values of the variables involved (currently 31 and some number in the range 1-4).
(gRoofLocked & (2^number) != 0)
Question: What, then, does it evaluate to? Is there some weird sequence of operators that I can't figure out?
The fate of the universe does not depend on my learning the answer. But it niggles at me anyway.