198 votes

Quel est le nombre maximal de flottants en Python ?

Je pense que l'entier maximum en python est disponible en appelant sys.maxint .

Quel est le maximum float o long en Python ?

0 votes

Il n'y a pas sys.maxint dans Python 3.

311voto

Dave Webb Points 90034

Para float jeter un coup d'œil à sys.float_info :

>>> import sys
>>> sys.float_info
sys.floatinfo(max=1.7976931348623157e+308, max_exp=1024, max_10_exp=308, min=2.2
250738585072014e-308, min_exp=-1021, min_10_exp=-307, dig=15, mant_dig=53, epsil
on=2.2204460492503131e-16, radix=2, rounds=1)

Plus précisément, sys.float_info.max :

>>> sys.float_info.max
1.7976931348623157e+308

Si ce n'est pas assez grand, il y a toujours infinité positive :

>>> infinity = float("inf")
>>> infinity
inf
>>> infinity / 10000
inf

El long le type a une précision illimitée Je pense donc que vous n'êtes limité que par la mémoire disponible.

1 votes

En fait, je trouve que sys.maxint est tout à fait suffisant pour mon application

0 votes

Il semble sys.float_info est disponible à partir de la v2.6. Et la v2.3-5 ?

1 votes

Notez que sys.float_info.min est défini comme "minimum positif normalisé float". Plus petit valeurs normales sont possibles, jusqu'à 5e-324

17voto

GWW Points 20316

Sys.maxint n'est pas le plus grand nombre entier supporté par python. C'est le plus grand entier supporté par le type d'entier régulier de python.

11 votes

+1 C'est important. Dans Py3k, c'est presque sans signification -- c'est le point auquel Python (de manière transparente !) change le type de données sous-jacent en long .

6 votes

@katrielalex : sys.maxint n'est même pas défini dans Python 3, il s'appelle sys.maxsize ce qui est probablement préférable dans Python 2 également.

14 votes

@Scott Griffiths : Pas tout à fait. sys.maxsize (introduit dans Python 2.6) et sys.maxint sont deux choses différentes. La première donne le nombre maximal d'objets autorisés dans une collection (par exemple, la taille maximale d'une liste, d'un dict, etc.), et correspond à une version signée de la règle C size_t le deuxième est le point après lequel le int les commutateurs de type à long et est la valeur maximale d'un C long . Sur certaines plateformes, les deux valeurs sont différentes : par exemple, sur Windows 64 bits, sys.maxsize es 2**63-1 y sys.maxint es 2**31-1 .

8voto

The Aelfinn Points 3530

Si vous utilisez numpy vous pouvez utiliser dtype ' float128 et obtenir une valeur flottante maximale de 10e+4931

>>> np.finfo(np.float128)
finfo(resolution=1e-18, min=-1.18973149536e+4932, max=1.18973149536e+4932, dtype=float128)

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X