& and
0 0 0
0 1 0
1 0 0
1 1 1

| or
0 0 0
0 1 1
1 0 1
1 1 1

^ xor
0 0 0
0 1 1
1 0 1
1 1 0

~ not
0 1
1 0

tips

(intNum & 1) == 0 then intNum is even
3 & 1 => 0011 & 0001 = 0001 ie 1 decimal (not even)
4 & 1 => 0100 & 0001 = 0000 ie 0 decimal (is even)