Bonjour,
Quelqu’un peut-il m’éclairer sur la manière dont python calcule les sinus et cosinus, car je bloque sur :
In[1]: from math import cos,sin,pi
In[2]: sin(pi)
Out[2]: 1.2246063538223773e-16
In[3]: cos(pi)
Out[3]: -1.0
In[4]: cos(2*pi)
Out[4]: 1.0
In[5]: sin(pi/2)
Out[5]: 1.0
Je comprends que la valeur en virgule flottante de pi, irrationnel, ne puisse pas être représentée en binaire. La valeur de sin(pi) est donc une valeur approchée de zéro.
Mais pourquoi les autres calculs [3],[4] et [5] renvoient-ils des valeurs, en virgule flottante, exactes ?
Merci d’avance !
La gestion des nombres à virgule flotante est trèx complexe et par exemple, le modèle de ton procésseur va modifier le résultat d’une même opération (il paraît que les opération qui ont eu lieu avant modifient aussi les résultats).