From 5cd752028c8d4263d4ecfd17378198a7ea1be26a Mon Sep 17 00:00:00 2001 From: Guido van Rossum Date: Tue, 14 Jan 1997 18:44:23 +0000 Subject: [PATCH] Describe new ("unsigned") behavior of hex() and oct(). --- Doc/lib/libfuncs.tex | 14 ++++++++++++-- Doc/libfuncs.tex | 14 ++++++++++++-- 2 files changed, 24 insertions(+), 4 deletions(-) diff --git a/Doc/lib/libfuncs.tex b/Doc/lib/libfuncs.tex index 9e7d4c1af6e..ddb3a9197ff 100644 --- a/Doc/lib/libfuncs.tex +++ b/Doc/lib/libfuncs.tex @@ -189,7 +189,12 @@ module from which it is called). \begin{funcdesc}{hex}{x} Convert an integer number (of any size) to a hexadecimal string. - The result is a valid Python expression. + The result is a valid Python expression. Note: this always yields + an unsigned literal, e.g. on a 32-bit machine, \code{hex(-1)} yields + \code{'0xffffffff'}. When evaluated on a machine with the same + word size, this literal is evaluated as -1; at a different word + size, it may turn up as a large positive number or raise an + \code{OverflowError} exception. \end{funcdesc} \begin{funcdesc}{id}{object} @@ -256,7 +261,12 @@ any kind of sequence; the result is always a list. \begin{funcdesc}{oct}{x} Convert an integer number (of any size) to an octal string. The - result is a valid Python expression. + result is a valid Python expression. Note: this always yields + an unsigned literal, e.g. on a 32-bit machine, \code{oct(-1)} yields + \code{'037777777777'}. When evaluated on a machine with the same + word size, this literal is evaluated as -1; at a different word + size, it may turn up as a large positive number or raise an + \code{OverflowError} exception. \end{funcdesc} \begin{funcdesc}{open}{filename\optional{\, mode\optional{\, bufsize}}} diff --git a/Doc/libfuncs.tex b/Doc/libfuncs.tex index 9e7d4c1af6e..ddb3a9197ff 100644 --- a/Doc/libfuncs.tex +++ b/Doc/libfuncs.tex @@ -189,7 +189,12 @@ module from which it is called). \begin{funcdesc}{hex}{x} Convert an integer number (of any size) to a hexadecimal string. - The result is a valid Python expression. + The result is a valid Python expression. Note: this always yields + an unsigned literal, e.g. on a 32-bit machine, \code{hex(-1)} yields + \code{'0xffffffff'}. When evaluated on a machine with the same + word size, this literal is evaluated as -1; at a different word + size, it may turn up as a large positive number or raise an + \code{OverflowError} exception. \end{funcdesc} \begin{funcdesc}{id}{object} @@ -256,7 +261,12 @@ any kind of sequence; the result is always a list. \begin{funcdesc}{oct}{x} Convert an integer number (of any size) to an octal string. The - result is a valid Python expression. + result is a valid Python expression. Note: this always yields + an unsigned literal, e.g. on a 32-bit machine, \code{oct(-1)} yields + \code{'037777777777'}. When evaluated on a machine with the same + word size, this literal is evaluated as -1; at a different word + size, it may turn up as a large positive number or raise an + \code{OverflowError} exception. \end{funcdesc} \begin{funcdesc}{open}{filename\optional{\, mode\optional{\, bufsize}}}