Bigint em Python
Python tem uma vantagem significativa ao trabalhar com inteiros porque não tem problema de estouro de inteiros, o que permite ao usuário criar variáveis sem pensar em seu tamanho. No entanto, isso depende da quantidade de memória livre disponível no sistema.
Python também suporta um tipo inteiro bignum
, que armazena números arbitrariamente muito grandes. No Python 2.5+, esse tipo de inteiro é chamado long
, que faz a mesma função que bignum
, e no Python 3 e superior, há apenas um int
que representa todos os tipos de inteiros, independentemente de seu tamanho.
Exemplo para mostrar o tipo de número inteiro em Python 2.7:
x = 10
print(type(x))
y = 111111111111111111111111111111111111111111111111111111111111111111
print(type(y))
Produção:
<class 'int'>
<class 'long'>
Exemplo para mostrar o tipo de número inteiro em Python 3:
x = 10
print(type(x))
y = 1111111111111111111111111111111111111111111111111111111111111111111
print(type(y))
Produção:
<class 'int'>
<class 'int'>
A saída mostra claramente que, nas versões posteriores do Python, o interpretador por si mesmo armazena os grandes números inteiros.