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