The lengthy transition process for this PEP, begun in Python 2.2, takes another step forward in Python 2.4. In 2.3, certain integer operations that would behave differently after int/long unification triggered FutureWarning warnings and returned values limited to 32 or 64 bits (depending on your platform). In 2.4, these expressions no longer produce a warning and instead produce a different result that's usually a long integer.
The problematic expressions are primarily left shifts and lengthy
hexadecimal and octal constants. For example,
2 << 32
results
in a warning in 2.3, evaluating to 0 on 32-bit platforms. In Python
2.4, this expression now returns the correct answer, 8589934592.
See Also:
See About this document... for information on suggesting changes.