Comment puis-je type à virgule flottante de l'infini littérale en python
Comment puis-je type à virgule flottante de l'infini littérale en python?
J'ai entendu
inf = float('inf')
est pas portable. Ainsi, j'ai eu l'suivantes sont recommandées:
inf = 1e400
Est l'un de ces standards, ou portable? Quelles sont les meilleures pratiques?
Vous devez vous connecter pour publier un commentaire.
Dans python 2.6 il est portable si le PROCESSEUR prend en charge
float('inf')
devrait souleverValueError
sur ces plates-formes, mais à ma connaissance, ce comportement n'a jamais été testé, parce que Python (enfin, les dernières versions de Python, au moins) n'a pas encore répondre à une telle plate-forme. Dans la pratique, ne vous inquiétez pas à ce sujet.float('inf')
est non portable, comme dans pas portable en arrière pour Python 2.5 lors de la sortie de chaîne varie entre plates-formes. De 2,6 à partir defloat('inf')
est garanti pour fonctionner sur la norme IEEE-754-respect des plates-formes (ref: http://www.python.org/dev/peps/pep-0754/).(Et la recommandation semble être dans la gamme 1e30000, pas seulement 1e400.)
Peut-être que vous pourriez faire quelque chose comme ce
float('inf')
est certainement préférable, en général. Il est même possible que 'inf = 1e30000" pourrait commencer à releverOverflowError
au lieu de produire une infinité dans une version future de Python.