Ok, quick ramble for foshizzle. This is all binary stuff, so hopefully knowing that will make this easier to understand.

A bitwise operator takes these binary values and does an operation on it using standard logic gates. At their simplest, you've got the AND, OR and XOR (exclusive OR).

AND as a bitwise operator in most programming langauges is represented as a single &.

AND does a simple comparison to see if there are commonalities with the two values. Take this for instance:

Code:
if (5 & 1)

As a binary comparison in 8 bits, you are comparing:

5 -> 00000101
to
1 -> 00000001

The result of this is 1 (00000001); that trailing 1 being the only bit in common turned on.

In the context of this thread, seeing if that trailing bit is on is enought to tell if it is an odd or even number. All odd's will have that bit turned on. All even's will not have it turned on.

Just to clarify one thing however, all numbers are represented in binary anyway, and these operations are done at the binary level in the processor. There's no string comparison or anything like that. Also note that your computer is running in (at minimum these days) 32bit mode. In otherwords, this takes something like one CPU cycle at it's root (ignoring programming overhead).