sábado, 5 de dezembro de 2020

Qual é o valor máximo possível de um inteiro em Python?

Considere o programa Python abaixo.

# Um programa Python para demonstrar que podemos
# armazenar grandes números em Python

x = 10000000000000000000000000000000000000000000;
x = x + 1
print(x)

Resultado :

10000000000000000000000000000000000000000001

Em Python, o valor de um inteiro não é restrito pelo número de bits e pode se expandir até o limite da memória disponível (Fontes: esse e esse). Portanto, nunca precisamos de nenhum arranjo especial para armazenar grandes números (imagine fazer a aritmética acima em C/ C++).

Como uma observação lateral, no Python 3, há apenas um tipo “int” para todos os tipos de inteiros. Em Python 2.7. existem dois tipos separados "int" (que é de 32 bits) e "long int" que é o mesmo que "int" do Python 3.x, ou seja, pode armazenar números arbitrariamente grandes.

# Um programa Python para mostrar que existem dois tipos em
# Python 2.7: int e long int
# E em Python 3, há apenas um tipo: int

x = 10
print(type(x))

x = 10000000000000000000000000000000000000000000
print(type(x))

Saída em Python 2.7:

<type 'int'>
<type 'long'>

Saída em Python 3:

<type 'int'>
<type 'int'>

Podemos tentar programas mais interessantes, como abaixo:

# Imprimindo 100 elevado a 100
print(100**100)

Artigo escrito por Abhay Rathi e traduzido por Acervo Lima de What is the maximum possible value of an integer in Python ?

0 comentários:

Postar um comentário