|
![]() |
Le premier argument, noté x
de toutes ces fonctions est un réel quelconque.
Un nombre réel
x est représenté en machine (de façon approchée)
par sa mantisse m (la suite des chiffres ck dans
la base de la numération interne b, avec c1
different de 0) et son exposant e. La valeur de l'exposant est
telle, que .
Ce codage est complété par un bit de signe. Par convention,
zéro s'écrit avec e=0.
Une valeur approchée
d'un réel x correspond au modèle
où p est le nombre de
chiffres de la mantisse dans la base b (b est égale
en général à 2 ou 16).
Ce mode de représentation
est appelé virgule flottante. Il se caractérise par la précision
de la représentation et le domaine des valeurs couvert.
exposant | catégorie: D | arguments: r | résultat: i |
Renvoie l'exposant e (du type entier standard) de la représentation interne de la valeur de x (de type réel quelconque). Si x est égal à 0, le résultat est 0.
mantisse | catégorie: D | arguments: r | résultat: r |
Renvoie la mantisse m (la partie fractionnaire) de la représentation interne de la valeur de x. Le résultat est du même type et variante que x (réel) et vaut m=x* b-e.
valeur absolue de la mantisse | catégorie: D | arguments: r | résultat: r |
Renvoie la valeur absolue (un réel de même variante que
x) de la mantisse m considérée comme un
nombre entier, soit .
Ce nombre est appelée aussi la "réciproque" de
l'espacement relatif des réels au voisinage de x (p
représentant le nombre de bits utiles de la mantisse, le bit de
signe non compris).
Exemples:
exponent (0.0) vaut 0
exponent (4.0)
vaut 3
fraction (0.0) vaut 0.0
fraction (4.0) vaut 0.5
rrspacing
(0.0) vaut 0.0
rrspacing (4.0) vaut 8.3886080E+06
exponent (-10.0) vaut 7
exponent
(1024.0) vaut 10
fraction (-10.0) vaut -0.7812500
fraction
(1024.0) vaut 0.5
rrspacing
(-10.0) vaut 1.3107200E+07
rrspacing (1024.0) vaut 8.3886080E+06
réel le plus proche | catégorie: D | arguments: r,r | résultat: r |
Fournit le réel (de même variante que x) exactement représentable dans le type de x qui soit le plus proche de x dans le sens indiqué par le signe de s. Le paramètre s doit être différent de zéro. On obtient le réel le plus proche inférieur si s < 0, et le plus proche supérieur si s > 0.
écart entre deux réels voisins | catégorie: D | arguments: r | résultat: r |
Renvoie l'écart absolu (l'espacement absolu) entre deux réels successifs au voisinage de x. Le résultat est du même type que x (variante comprise). On obtient l'écart entre les deux réels représentables les plus proches de x c'est à dire be-p ou tiny(x) si x=0.
Exemples:
nearest (0.0, 1.0) vaut 1.4012985E-45
nearest (-2.0, 1.0) vaut -2.0000002
spacing
(0.0, 1.0) vaut 1.1754944E-38 spacing (-2.0, 1.0) vaut 2.3841858E-07
nearest (0.0, -1.0) vaut -1.4012985E-45
nearest (-2.0, -1.0) vaut -1.9999999
spacing
(0.0, -1.0) vaut 1.1754944E-38 spacing (-2.0, -1.0) vaut 2.3841858E-07
mise à l'échelle de la valeur | catégorie: D | arguments: r,i | résultat: r |
Renvoie la valeur (un réel de même variante que x) de la quantité x*bi (i est d'un type entier).
mise à l'échelle de la mantisse | catégorie: D | arguments: r,i | résultat: r |
Renvoie la valeur (un réel de même variante que x) de la quantité m*bi =x* bi-e (un réel ayant la même mantisse que x, mais l'exposant i).
Exemples:
scale (2.0, -2) vaut 0.5 set_exponent
(2.0, -2) vaut 0.125
scale (2.0,
-1) vaut 1.0 set_exponent (2.0, -1) vaut 0.25
scale
(2.0, 0) vaut 2.0 set_exponent (2.0, 0) vaut 0.5
scale (2.0, 1) vaut 4.0 set_exponent (2.0, 1)
vaut 1.0
scale (2.0, 2) vaut 8.0
set_exponent (2.0, 2) vaut 2.0
Retour à la table des matières