[Python-Dev] Deprecation warning on integer shifts and such
Guido van Rossum
guido@python.org
Mon, 12 Aug 2002 15:13:38 -0400
> > > > Oops. Darn. You're right. Sigh. That's painful. We have to add a
> > > > new format code (or more) to accept signed 32-bit ints but also longs
> > > > in range(32).
> > >
> > > Rather than inventing something new to be compatible to the existing
> > > old status quo, I'd rather like to see new format codes for unsigned
> > > integers and/or longs and have the existing ones support the new
> > > status quo.
> >
> > That's okay too. The function could be PyInt_AsUnsignedLong(). It
> > could convert negative 32-bit ints to unsigned as a backward
> > compatibility measure (with warning?) that will eventually disappear.
> >
> > The format code could be 'I' for unsigned int, but I don't know what
> > to use for unsigned long. Or perhaps still use 'k'/'K' for masK?
>
> Does 32 here actually mean 32, or does it mean length of int -- I'm
> presuming there are or will be platforms with 64-bit PyInts?
Good question. Much code that uses these features assumes 32 bits.
OTOH the same problem occurs for real on 64-bit systems at the 64-bit
boundary.
--Guido van Rossum (home page: http://www.python.org/~guido/)