In Python, c'è un modo per ottenere il numero intero più grande che si può usare? C'è una costante predefinita come INT_MAX?Intervalli di interi in Python
63
A
risposta
114
Python ha numeri interi di precisione arbitrari, quindi non esiste un massimo fisso reale. Sei limitato solo dalla memoria disponibile.
In Python 2, esistono due tipi, int
e long
. int
s usano un tipo C, mentre long
s sono precisione arbitraria. È possibile utilizzare sys.maxint
per trovare il massimo int
. Ma int
s sono promossi automaticamente long
, in modo che di solito non c'è bisogno di preoccuparsi:
sys.maxint + 1
funziona bene e restituisce una long
.
sys.maxint
non esiste nemmeno in Python 3, poiché int
e long
vennero unificati in un unico precisione arbitraria int
tipo.
0
import re
import sys
import platform
import struct
formats = {
"int":{"p_type":"integer", "format":"i"},
"float":{"p_type":"float", "format":"f"},
"double":{"p_type":"float", "format":"d"}
}
sys_bit = int(re.findall(r"\d+", platform.architecture()[0])[0])/8
for k,v in formats.iteritems():
print "max {0} {1}".format(k, 2**struct.Struct(v["format"]).size*sys_bit-1)-1)
print "min {0} {1}".format(k, -2**struct.Struct(v["format"]).size*sys_bit-1))
Problemi correlati
- 1. Definire intervalli interi in C
- 2. Dichiarazione case Delphi per intervalli di interi
- 3. Conversione di set di numeri interi in intervalli utilizzando C#
- 4. Endianness di interi in Python
- 5. Struttura dati per ampi intervalli di numeri interi consecutivi?
- 6. Come posso rappresentare gli intervalli interi in Java?
- 7. Intervalli di stampa degli istogrammi in Python
- 8. Leggere una riga di interi in Python
- 9. eseguire un'operazione a intervalli specifici in python
- 10. Python - arrotondamento per quarti di intervalli
- 11. Contare i numeri interi in Python
- 12. Perché gli interi sono immutabili in Python?
- 13. Intervalli in Erlang
- 14. Come indice più elementi di array con intervalli in Python
- 15. Unisci due numeri interi in Python
- 16. Python Partecipare a una lista di interi
- 17. Passare elenchi di numeri interi a python
- 18. Unisci intervalli a intervalli
- 19. Converti array di interi in stringa in Python
- 20. Python: mappatura da intervalli a valori
- 21. Intervalli id ripetibili su oggetti python
- 22. Come si riassume la matrice di numeri interi come una matrice di intervalli?
- 23. O (1) deque indicizzabile di interi in Python
- 24. Come dire a Python di convertire numeri interi in parole
- 25. somma di stringa e numeri interi nella lista in python
- 26. tuple di intervalli continui chiusi
- 27. Intervalli di date in Pandas
- 28. Convertire un numero intero a 64 bit in 8 interi interi da 1 byte in python
- 29. Esistono implementazioni di interi interi solidi in C?
- 30. Perché le espressioni di loop semplici sono limitate agli intervalli interi?
Si noti che in Python 3 (e Python 2.6 e versioni successive) 'sys.maxsize' può essere utilizzato quando è necessario un valore di dimensioni arbitrarie. – mattdm
ce n'è uno che non è lungo? –
'sys.maxsize' continua ad essere il limite teorico sulla dimensione dei contenitori per Python 2 e 3 (teorico perché la memoria è il vero fattore limitante) –