summaryrefslogtreecommitdiffstats
path: root/Doc/ref/ref2.tex
diff options
context:
space:
mode:
authorGuido van Rossum <guido@python.org>2003-11-29 23:52:13 (GMT)
committerGuido van Rossum <guido@python.org>2003-11-29 23:52:13 (GMT)
commit6c9e130524533263b690e86639a36b6f3e7a8eeb (patch)
tree39023f825688f630245ddcaa60af9942a859522c /Doc/ref/ref2.tex
parent37e136373e0d9ab3bdf25ecd9c42b86281ed21d3 (diff)
downloadcpython-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.tex24
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}