Max Int em Python
Este tutorial discutirá o valor inteiro máximo em diferentes versões do Python e como podemos obtê-lo.
No Python 2, um inteiro e um inteiro longo são tipos de dados diferentes. Um número inteiro tem um limite de 231 - 1, e se o valor exceder o limite, o tipo de dados da variável será automaticamente alternado para longo e nenhuma exceção será levantada. Depois que o tipo de dados variável é alternado para o tipo de dados longos, ele pode ser tão grande quanto a máquina pode armazenar, o que significa que não há limite explícito para o longo no Python 2.
No Python 3, não temos o inteiro separado e os tipos de dados longos, o que significa que o tipo de dados da variável não será alterado após o limite de 231 - 1 ser excedido. Resumindo, o inteiro no Python 3 funciona da mesma maneira que long funciona no Python 2 e pode ter um valor tão grande quanto a máquina pode armazenar.
Obtenha o valor inteiro máximo em Python usando o módulo sys
Como discutimos acima, não há limite ou valor máximo de um inteiro no Python 3, mas há um limite para inteiro no Python 2, após o qual o tipo de dados da variável muda para um tipo de dados longo.
Podemos obter o valor inteiro máximo em Python 2 usando sys.maxint
, igual a 231 - 1. O código de exemplo a seguir demonstra como usar sys.maxint
para obter o valor inteiro máximo em Python 2:
import sys
print(sys.maxint)
Resultado:
9223372036854775807
No Python 3, o sys.maxint
não existe porque não há limite ou valor máximo para um tipo de dados inteiro. Mas podemos usar sys.maxsize
para obter o valor máximo do tipo Py_ssize_t
em Python 2 e 3. É também o tamanho máximo que listas, strings, dicionários e tipos de contêiner semelhantes podem ter.
O código de exemplo a seguir demonstra como obter o valor máximo para tipos de contêiner em Python.
import sys
print(sys.maxsize)
No caso de precisarmos obter o valor máximo ou mínimo do inteiro para usá-lo na verificação de condição, podemos usar o float('inf')
e float('-inf')
para obter o positivo e o negativo infinito em Python.
Código de exemplo:
print(float("inf"))
print(float("-inf"))
Resultado:
inf
-inf