Max Int em Python

Muhammad Waiz Khan 18 julho 2021
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

Artigo relacionado - Python Integer