1TSI 2016-2017.Chapitre B - TD 2 - Les nombres et Python. Lycée Chaptal.
long (long integer) le type entier long est équivalent au type entier sauf qu’il n’est pas limité à
nombre d’octets (ou de bits prédéterminé). Á l’extrême, un nombre peut prendre la quasi tota-
lité de la mémoire de l’ordinateur. Il est clair alors que ce nombre peut être considérable.
float le type flottant permet de représenter des nombres à virgule. Il est codé en mémoire sur 32
bits (simple précision) ou sur 64 bits (double précision). Il est représenté sous la forme
nombre =(−1)S1mantisse×2exposant
Sur 64 bits la mantisse est écrite avec 52 chiffres binaires (51 plus le 1 implicite), et l’exposant
avec 11 chiffres ; il y a 1 bit de signe. La précision maximale est donc de 2−52, soit environ 2 ×
10−16. Des valeurs spéciales permettent de représenter −∞,+∞ et Nan,not a number, souvent
issu d’une forme indéterminée.
complex le type complexe correspond à une structure naturellement composée de deux flottants
(partie réelle et imaginaire) sur 2 x 8 = 16 octets.
bool le type booléen correspond à l’algèbre booléenne et ne prend que deux valeurs : True/False. Il
est codé sur un bit.
En pratique, pour des applications basiques, le typage est la plupart du temps transparent pour
l’utilisateur car Python interprète dynamiquement le type des variables. Par exemple si on attribue
la valeur 3à la variable a, on ne précise pas si aest une variable entière ou réelle; Python interprète
le type de variable en fonction des opérations demandées :
In [1]: a=3
In [2]: a+2
Out [2]:5
In [3]: a/2
Out [3]: 1.5
Même si les entiers sont codés sur 64 bits, on peut créer un nombre entier énorme qui sera de type
long (remarque :** est l’opérateur de mise à la puissance) :
In [1]: c=2** 10000
In [2]: c
La réponse donnée peut aussi être de type booléen :
In [1]: a=3
In [2]: b=2
In [3]: a<b
Out [3]: False
In [4]: a>b
Out [4]: True
In [5]: a==b
Out [5]: False
In [6]: a!=b
Out [6]: True
Pour les booléens (|et & indiquent respectivement "ou" et "et"), on peut lancer la séquence :
In [1]: a= True
In [2]: b= False
In [3]: a|b
Out [3]: True
In [4]: a&b
Out [4]: False
Pour les nombres complexes, on peut tester :
-2-