~ 1 = -2 ???
wtanksle at hawking.armored.net
Thu Nov 4 22:07:33 CET 1999
On Fri, 05 Nov 1999 04:01:22 GMT, Les Schaffer wrote:
>i am doing some bit operations, and dont understand the following:
>>>> ~ 1
>huh???? i would have thought that bitwise invert of 1 would be
>0001 --> 1110 = 13 (base 10)
>what marble am i missing?
The marble about 32-bit twos' complement signed integers. They're not
To find the negative in twos' complement, which Python uses, you NOT the
bits and add one. So if you only NOT the bits, you'll get one less than
the negative of the number you started with. Try ~-5 for an example.
The bit pattern is still what you need if you're worried about bit
patterns, though. Personally, ALL of my coding uses unsigned numbers.
-William "Billy" Tanksley
More information about the Python-list