una - minimo entre dos numeros python
Valores máximos y mínimos para ints. (6)
Estoy buscando valores mínimos y máximos para enteros en python. Por ejemplo, en Java, tenemos Integer.MIN_VALUE
y Integer.MAX_VALUE
. ¿Hay algo como esto en Python?
Python 3
En Python 3, esta pregunta no se aplica. El tipo int
simple es ilimitado.
Sin embargo, es posible que estés buscando el tamaño de palabra de la máquina. Todavía está disponible en Python 3 como sys.maxsize
.
Python 2
En Python 2, el valor máximo para los valores int
simples está disponible como sys.maxint
:
>>> sys.maxint
9223372036854775807
Puede calcular el valor mínimo con -sys.maxint - 1
como se muestra here .
Python cambia sin problemas de enteros lisos a largos una vez que excede este valor. Así que la mayoría de las veces, no necesitarás saberlo.
Confío fuertemente en comandos como este.
python -c ''import sys; print(sys.maxsize)''
Max int devuelto: 9223372036854775807
Para más referencias para ''sys'' debes acceder
En Python, los enteros cambiarán automáticamente de una representación int
tamaño fijo a una representación long
ancho variable una vez que pase el valor sys.maxint
, que puede ser 2 31 - 1 o 2 63 - 1 según su plataforma. Note la L
que se anexa aquí:
>>> 9223372036854775807
9223372036854775807
>>> 9223372036854775808
9223372036854775808L
Del manual de Python :
Los números se crean mediante literales numéricos o como resultado de funciones y operadores integrados. Los literales de enteros sin adornos (incluidos los números binarios, hexadecimales y octales) producen enteros simples a menos que el valor que denotan sea demasiado grande para ser representado como un entero sin formato, en cuyo caso producen un entero largo. Los literales enteros con un sufijo
''L''
o''l''
producen enteros largos (''L''
se prefiere''L''
porque1l
parece demasiado a once!).
Python hace todo lo posible por fingir que sus enteros son enteros matemáticos y son ilimitados. Puede, por ejemplo, calcular un googol con facilidad:
>>> 10**100
10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000L
Para Python 3, es
import sys
max = sys.maxsize
min = -sys.maxsize -1
Si solo necesitas un número más grande que todos los demás, puedes usar
float(''inf'')
de manera similar, un número más pequeño que todos los demás:
float(''-inf'')
Esto funciona tanto en python 2 como en 3.
La constante sys.maxint se ha eliminado de Python 3.0 en adelante, en su lugar use sys.maxsize
Enteros
- PEP 237: Esencialmente, renombrado por mucho tiempo a int. Es decir, solo hay un tipo integral integrado, denominado int; pero se comporta sobre todo como el antiguo tipo largo.
- PEP 238: Una expresión como 1/2 devuelve un flotador. Utilice 1 // 2 para obtener el comportamiento de truncamiento. (La última sintaxis ha existido durante años, al menos desde Python 2.2).
- La constante sys.maxint se eliminó, ya que ya no hay un límite para el valor de los enteros. Sin embargo, sys.maxsize se puede usar como un entero más grande que cualquier índice práctico de cadena o lista. Se ajusta al tamaño de entero "natural" de la implementación y suele ser el mismo que sys.maxint en versiones anteriores en la misma plataforma (asumiendo las mismas opciones de compilación).
- El repr () de un entero largo ya no incluye la L al final, así que el código que elimina incondicionalmente ese carácter cortará el último dígito. (Utilice str () en su lugar.)
- Los literales octales ya no tienen la forma 0720; use 0o720 en su lugar.