If you shift the bit all the way to the left, it moves into the "sign" bit -- all negative numbers have a 1 there (see twos compliment notation, anyplace on the web for details).
When you use >> it not only moves the set bit to the right, it "extends" the sign bit, so you go from:
0000 0000 0000 0000 0000 0000 0000 0001
to
1000 0000 0000 0000 0000 0000 0000 0000
(a very very big negative number)
then >> to:
1111 1111 1111 1111 1111 1111 1111 1111
which is, of course minus 1.
Clever eh? If you dont understand, then you really need to look up 2s compliment notation (
http://burks.brighton.ac.uk/burks/foldoc/42/120.htm)
James