The & is a bitwise AND function. The AND function returns true (or 1 in the case of bits) if both bits are 1. It returns 0 in every other case. In this example, it is used as a mask. You can stop here if you already understand this, and I am sorry if I am teaching the teachers... but I will continue if you do so wish.
If you have a byte (take the number 5: 0101) and you only want the last bit (1) you can use a bitmask to find it by using the AND operator. You would use the mask 0001. If you AND this with 5: 0101 & 0001 .. all the bits in positions 2 through 4 are set to 0, with the first be being 1 (0001). Remember, any two bits that are not 0 get set to 0 by the AND function.
In this case, this is what we want. If a number is odd, it will have a 1 in the first bit position (5: 0101) while even numbers don't (4: 0100). This is true for all odd/even numbers, because only 2^0 is odd (1). Therefore, we can use a bitmask of 1 to see whether this bit is set: someNumber & 1 = 0000x where x is 1 or 0, 'odd' or 'even'.
I'm pretty sure you'd have to take care of the edge case where the user supplies 0, as it is not really even or odd. I guess it is considered even though, from a previous post

I don't think this algorithm would work on negative numbers though. I guess modulus wouldn't either, I'll have to test it.
Hope this helps!
PS: There is also OR and XOR operators. These could be discussed at another time. OH.. I think I feel my first article coming on! Well, that is, if it has not been done before.