[Python-Dev] Deprecation warning on integer shifts and such
Tim Peters
tim.one@comcast.net
Sun, 11 Aug 2002 22:21:51 -0400
[Guido]
> ...
> PEP 237 is about erasing all differences between int and long. When
> seen as a long, 0xff000000 has the value 4278190080. But currently it
> is an int and has the value -16777216.
Note that while it's an int under all current Python installations, the
*value* differs: on 64-bit boxes other than Win64, 0xff000000 already has
value 4278190080. This creates porting problems too.
> As a bit pattern that doesn't make much of a difference, but as a
> numeric value it makes a huge difference (2**32 to be exact :-). So
> in Python 2.4, 0xff<<24, as well as the constant 0xff000000, will have
> the value 4278190080.
Some users won't even notice <wink>. They may notice that
0xff00000000000000 "changes value", though.
> ...
> In the long run you'll thank me for this.
I'll start today: thank you.