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.