[ < ] | [ > ] | [ << ] | [Plus haut] | [ >> ] | [Top] | [Table des matières] | [Index] | [ ? ] |
Les nombres à virgule flottante sont utiles pour la représentation des
nombres qui ne sont pas intégraux. Le champ précis des nombres à
virgule flottante est propre à la machine; c'est pareil que le champ
du type de données de C double
sur la machine que vous
employée.
La syntaxe de lecture pour des nombres à virgule flottante exige une virgule décimale (avec au moins un chiffre suivant), un exposant, ou les deux. Par exemple, ‘1500.0’, ‘15e2’, ‘15.0e2’, ‘1.5e3’, et ‘.15e4’ sont cinq manières d'écrire le nombre à virgule flottante dont la valeur est 1500. Ils sont tous équivalents. Vous pouvez également employer un signe moins pour écrire des nombres négatifs à virgule flottante, comme dans ‘- 1.0’.
La plupart des ordinateurs modernes soutiennent la norme à virgule
flottante IEEE, qui prévoit plus l'infini et moins l'infini
comme valeurs à virgule flottante. Elle prévoit également une classe
de valeurs appelées NaN ou “not-a-number”; les fonctions numériques
renvoient de telles valeurs dans les cas où il n'y a aucune réponse
correcte. Par exemple, (/ 0.0 0.0)
renvoie NaN. Pour des buts
pratiques, il n'y a aucune différence significative entre différentes
valeurs de NaN en Emacs Lisp, et il n'y a aucune règle pour la valeur
NaN à utiliser dans un cas particulier, ainsi Emacs Lisp n'essaye pas
de les distinguer (mais rapporte le signal, si vous l'affichez). Voici
les syntaxes lues pour ces valeurs à virgule flottante spéciales:
‘1.0e+INF’
‘-1.0e+INF’
‘0.0e+NaN’ ou ‘-0.0e+NaN’.
Pour examiner si une valeur à virgule flottante est NaN, le comparer à
lui-même en employant =
. Il renvoie nil
pour NaN, et
t
pour n'importe quelle autre valeur à virgule flottante.
La valeur -0.0
est distinguable de l'ordinaire zéro dans la
virgule flottante de IEEE, mais l'Emacs Lisp equal
et
=
les considèrent comme valeurs égales.
Vous pouvez employer logb
pour extraire l'exposant binaire d'un
nombre à virgule flottante (ou estimer le logarithme d'un nombre
entier):
Cette fonction renvoie l'exposant binaire de number. Plus précisément, la valeur est le logarithme de number en base 2, arrondie vers le bas à un nombre entier.
(logb 10) ⇒ 3 (logb 10.0e20) ⇒ 69 |
[ < ] | [ > ] | [ << ] | [Plus haut] | [ >> ] | [Top] | [Table des matières] | [Index] | [ ? ] |
Ce document a été généré par Eric Reinbold le 13 Octobre 2007 en utilisant texi2html 1.78.