diff options
author | Guido van Rossum <guido@python.org> | 2003-11-29 23:52:13 (GMT) |
---|---|---|
committer | Guido van Rossum <guido@python.org> | 2003-11-29 23:52:13 (GMT) |
commit | 6c9e130524533263b690e86639a36b6f3e7a8eeb (patch) | |
tree | 39023f825688f630245ddcaa60af9942a859522c /Doc/ref/ref2.tex | |
parent | 37e136373e0d9ab3bdf25ecd9c42b86281ed21d3 (diff) | |
download | cpython-6c9e130524533263b690e86639a36b6f3e7a8eeb.zip cpython-6c9e130524533263b690e86639a36b6f3e7a8eeb.tar.gz cpython-6c9e130524533263b690e86639a36b6f3e7a8eeb.tar.bz2 |
- Removed FutureWarnings related to hex/oct literals and conversions
and left shifts. (Thanks to Kalle Svensson for SF patch 849227.)
This addresses most of the remaining semantic changes promised by
PEP 237, except for repr() of a long, which still shows the trailing
'L'. The PEP appears to promise warnings for operations that
changed semantics compared to Python 2.3, but this is not
implemented; we've suffered through enough warnings related to
hex/oct literals and I think it's best to be silent now.
Diffstat (limited to 'Doc/ref/ref2.tex')
-rw-r--r-- | Doc/ref/ref2.tex | 24 |
1 files changed, 11 insertions, 13 deletions
diff --git a/Doc/ref/ref2.tex b/Doc/ref/ref2.tex index 76c5cc5..33bf053 100644 --- a/Doc/ref/ref2.tex +++ b/Doc/ref/ref2.tex @@ -580,25 +580,23 @@ allowed as suffix for long integers, it is strongly recommended to always use \character{L}, since the letter \character{l} looks too much like the digit \character{1}. -Plain integer decimal literals that are above the largest representable -plain integer (e.g., 2147483647 when using 32-bit arithmetic) are accepted -as if they were long integers instead. Octal and hexadecimal literals -behave similarly, but when in the range just above the largest representable -plain integer but below the largest unsigned 32-bit number (on a machine -using 32-bit arithmetic), 4294967296, they are taken as the negative plain -integer obtained by subtracting 4294967296 from their unsigned value. There -is no limit for long integer literals apart from what can be stored in -available memory. For example, 0xdeadbeef is taken, on a 32-bit machine, -as the value -559038737, while 0xdeadbeeffeed is taken as the value -244837814107885L. +Plain integer literals that are above the largest representable plain +integer (e.g., 2147483647 when using 32-bit arithmetic) are accepted +as if they were long integers instead.\footnote{In versions of Python +prior to 2.4, octal and hexadecimal literals in the range just above +the largest representable plain integer but below the largest unsigned +32-bit number (on a machine using 32-bit arithmetic), 4294967296, were +taken as the negative plain integer obtained by subtracting 4294967296 +from their unsigned value.} There is no limit for long integer +literals apart from what can be stored in available memory. Some examples of plain integer literals (first row) and long integer literals (second and third rows): \begin{verbatim} -7 2147483647 0177 0x80000000 +7 2147483647 0177 3L 79228162514264337593543950336L 0377L 0x100000000L - 79228162514264337593543950336 0xdeadbeeffeed + 79228162514264337593543950336 0xdeadbeef \end{verbatim} |