00000101 ^ ^ | least significant bit most significant bit Bitwise OR: | 01011100 | 11110101 ----------- 11111101 01011100 | 11110101 == 11111101 ____________________________________ Bitwise AND: & 01011100 & 11110101 ----------- 01010100 01011100 & 11110101 == 01010100 ____________________________________ Bitwise AND: & 01011100 & 10100011 ----------- 00000000 01011100 & 10100011 == 00000000 ____________________________________ Bitwise XOR: ^ 01011100 ^ 11110101 ----------- 10101001 01011100 ^ 11110101 == 10101001 ____________________________________ Bitwise NOT ~01011100 --------- 10100011 ____________________________________ Bitshift RIGHT: >> 01011100 >> 2 == 00010111 ____________________________________ Bitshift LEFT: << 01011100 << 2 == 01110000 ____________________________________ To find out if the least significant bit (rightmost) is 1, you can bitwise-and with 1. 00110010 & 00000001 == 0 00110011 & 00000001 == 1