Commit d79af0fc authored by Benjamin Peterson's avatar Benjamin Peterson

finish backporting binary literals and new octal literals docs

parent b5f8208b
......@@ -246,14 +246,15 @@ Complex numbers have a real and imaginary part, which are each implemented using
pair: octal; literals
Numbers are created by numeric literals or as the result of built-in functions
and operators. Unadorned integer literals (including hex and octal numbers)
yield plain integers unless the value they denote is too large to be represented
as a plain integer, in which case they yield a long integer. Integer literals
with an ``'L'`` or ``'l'`` suffix yield long integers (``'L'`` is preferred
because ``1l`` looks too much like eleven!). Numeric literals containing a
decimal point or an exponent sign yield floating point numbers. Appending
``'j'`` or ``'J'`` to a numeric literal yields a complex number with a zero real
part. A complex numeric literal is the sum of a real and an imaginary part.
and operators. Unadorned integer literals (including binary, hex, and octal
numbers) yield plain integers unless the value they denote is too large to be
represented as a plain integer, in which case they yield a long integer.
Integer literals with an ``'L'`` or ``'l'`` suffix yield long integers (``'L'``
is preferred because ``1l`` looks too much like eleven!). Numeric literals
containing a decimal point or an exponent sign yield floating point numbers.
Appending ``'j'`` or ``'J'`` to a numeric literal yields a complex number with a
zero real part. A complex numeric literal is the sum of a real and an imaginary
part.
.. index::
single: arithmetic
......
......@@ -605,6 +605,7 @@ Numeric literals
single: long integer literal
single: floating point literal
single: hexadecimal literal
single: binary literal
single: octal literal
single: decimal literal
single: imaginary literal
......@@ -631,11 +632,12 @@ definitions:
longinteger: `integer` ("l" | "L")
integer: `decimalinteger` | `octinteger` | `hexinteger` | `bininteger`
decimalinteger: `nonzerodigit` `digit`* | "0"
octinteger: "0" `octdigit`+
octinteger: "0" ("o" | "O") `octdigit`+ | "0" `octdigit`+
hexinteger: "0" ("x" | "X") `hexdigit`+
bininteger: "0" ("b" | "B") `bindigit`+
nonzerodigit: "1"..."9"
octdigit: "0"..."7"
bindigit: "0" | "1"
hexdigit: `digit` | "a"..."f" | "A"..."F"
Although both lower case ``'l'`` and upper case ``'L'`` are allowed as suffix
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment