17.12.2012 Views

Programmation PYTHON - Zenk - Security - Repository

Programmation PYTHON - Zenk - Security - Repository

Programmation PYTHON - Zenk - Security - Repository

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

Littéraux pour les entiers<br />

Syntaxe du langage<br />

CHAPITRE 4<br />

En Python, un entier peut être représenté sous forme décimale, binaire, octale ou<br />

hexadécimale.<br />

Représentation décimale<br />

Classiquement, la forme décimale est représentée par une séquence de chiffres numériques.<br />

La plage des valeurs possibles s’étend de 0 à 2 147 483 647, ce qui correspond à<br />

une valeur non signée sur 32 bits et permet de représenter un entier naturel.<br />

Pour obtenir des valeurs négatives et étendre la représentation aux entiers relatifs, le littéral<br />

est préfixé de l’opérateur - pour former une expression correspondant à la valeur.<br />

Pour toutes les valeurs qui dépassent cette plage, des entiers longs doivent être utilisés.<br />

Un entier long est représenté de la même manière qu’un entier, mais suffixé par la lettre<br />

L ou l. Il est conseillé d’utiliser la version majuscule afin d’éviter une éventuelle confusion<br />

avec le chiffre 1. Il n’y a pas de limite de représentation pour les entiers longs mise<br />

à part la mémoire virtuelle disponible de l’ordinateur. En d’autres termes, et contrairement<br />

à beaucoup d’autres langages, il n’y a pas besoin de mettre en place des algorithmes<br />

de changement de base pour manipuler des nombres de grande taille.<br />

Représentation d’entiers<br />

>>> u = -1<br />

>>> u = 23456<br />

>>> u = 2L<br />

>>> u = 826252524370896L<br />

>>> u = 826252524352928685376357642970896L # long, isn't it ?<br />

Depuis la version 2.4 de Python, lorsque qu’un entier simple dépasse la plage autorisée,<br />

il est automatiquement transtypé, c’est-à-dire converti, en entier long.<br />

Transtypage automatique en entier long<br />

>>> u = 56<br />

>>> type(u)<br />

<br />

>>> u = 3456876534567<br />

>>> type(u)<br />

<br />

La version 3 de Python, quant à elle, ne fait plus de distinction entre ces deux types<br />

et les unifie en un seul type d’entiers sans suffixes.<br />

59

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!