2.4.4 Costanti di tipo intero e long

Le costanti di tipo intero e long vengono descritte dalle seguenti definizioni lessicali:

longinteger  ::=  integer ("l" | "L")
integer  ::=  decimalinteger | octinteger | hexinteger
decimalinteger  ::=  nonzerodigit digit* | "0"
octinteger  ::=  "0" octdigit+
hexinteger  ::=  "0" ("x" | "X") hexdigit+
nonzerodigit  ::=  "1"..."9"
octdigit  ::=  "0"..."7"
hexdigit  ::=  digit | "a"..."f" | "A"..."F"
Potete scaricare il file originale (in Inglese) come testo.

Anche se si puó utilizzare sia il suffisso "l" che "L" per indicare una costante long, è altamente raccomandato di utilizzare sempre "L", poiché la lettera "l" è troppo simile alla cifra "1".

Le costanti intere che sono maggiori del più grande numero intero rappresentabile (per esempio 2147483647 quando si utilizza un'aritmetica a 32 bit) vengono accettate come se fossero costanti long. 2.1Non c'é limite alla lunghezza delle costanti long, a parte la limitazione dovuta alla dimensione della memoria disponibile.

Alcuni esempi di costanti numeriche intere (prima riga) e long (seconda e terza riga):

7     2147483647                        0177
3L    79228162514264337593543950336L    0377L   0x100000000L
      79228162514264337593543950336             0xdeadbeef



Footnotes

... long.2.1
Nelle versioni di Python precedenti alla 2.4, le costanti numeriche ottali ed esadecimali nell'intervallo subito sopra il più grande intero rappresentabile, ma inferiore al più grande numero senza segno a 32 bit (su macchine con aritmetica a 32 bit), 4294967296, vengono considerate come il numero intero negativo ottenuto sottraendo 4294967296 al loro valore senza segno.
Vedete Circa questo documento... per informazioni su modifiche e suggerimenti.