Well, -1 is not 1000 ... 0001, it is all 1's.
So you have x = 1111 1111 1111 1111 1111 1111 1111 1111 (binary) and you shift right with sign extension - all the bits will still be 1's, and the result is still -1.
The
pattern 1000 ... 0001 is -2147483647, not -1.
Two's complement [ July 31, 2006: Message edited by: Jesper Young ]