Not a Java question as such but a more generic information that would be useful. Most of the interview questions consist of manipulations of bitwise operators. Some basic operations are listed below -
- OR can be used to set a bit to one: 11101010 OR 00000100 = 11101110
- AND can be used to set a bit to zero: 11101010 AND 11111101 = 11101000
- AND together with zero-testing can be used to determine if a bit is set:
-
- 11101010 AND 00000001 = 00000000 = 0
- 11101010 AND 00000010 = 00000010 ≠ 0
- XOR can be used to invert or toggle a bit:
-
- 11101010 XOR 00000100 = 11101110
- 11101110 XOR 00000100 = 11101010
- NOT can be used to invert all bits.
-
- NOT 10110010 = 01001101