Bitwise operators are used to compare two binary numbers. Basically, they go through each digit in the two binary numbers (called a bit) starting from the left, and compare those 2 bits, producing some output. Since it's in binary, the digits are either going to be 0 or 1.
In regular torque, true is true and false is false. In binary, 1 means true and 0 means false. So just like 'true && true = true' but 'true && false = false', you can say '1 & 1 = 1' but '1 & 0 = 0'.
So, if you did 2&3, it will produce 2, because the number 2 in binary is '10' and the number 3 in binary is '11'. The first bits are 1 and 1, and the second bits are 1 and 0. So the first bits produce a 1 and the second bits produce a 0, giving a result of '10', which is binary for 2.
'&': produces a 1 when both bits are equal to 1 (otherwise produces a 0).
'^': produces a 0 when both bits are equal to 0 (otherwise produces a 1).
'|': produces a 1 only when both bits are different.