Conversions et précision

Dans certaines conversions numériques, une perte de précision est possible ; d'autres conversions conservent la précision ou entraînent un arrondi.

Comme les éléments à virgule fixe et à virgule flottante externe ont des caractéristiques décimales, les références aux éléments à virgule fixe dans les exemples suivants incluent des éléments à virgule flottante externe, sauf indication contraire.

Lorsque le compilateur convertit le format à virgule fixe en format à virgule flottante interne, les nombres à virgule fixe de la base 10 sont convertis au système de numérotation utilisé en interne.

Lorsque le compilateur convertit la forme courte en forme longue pour les comparaisons, des zéros sont utilisés pour le remplissage du nombre plus court.

Conversions qui perdent de la précision

Lorsqu'un élément de données USAGE COMP-2 est déplacé vers un élément de données à point fixe comportant plus de 18 chiffres, l'élément de données à point fixe ne reçoit que 18 chiffres significatifs et les chiffres restants sont égaux à zéro.

Lorsqu'un élément de données USAGE COMP-1 est déplacé vers un élément de données à point fixe comportant plus de six chiffres, l'élément de données à point fixe ne reçoit que six chiffres significatifs et les chiffres restants sont égaux à zéro.

Conversions qui conservent la précision

Si un élément de données à point fixe comportant six chiffres ou moins est déplacé vers un élément de données USAGE COMP-1 , puis renvoyé à l'élément de données à point fixe, la valeur d'origine est récupérée.

Si un élément de données USAGE COMP-1 est déplacé vers un élément de données à point fixe de six chiffres ou plus, puis renvoyé à l'élément de données USAGE COMP-1 , la valeur d'origine est récupérée.

Si un élément de données à point fixe comportant 15 chiffres ou moins est déplacé vers un élément de données USAGE COMP-2 , puis renvoyé à l'élément de données à point fixe, la valeur d'origine est récupérée.

Si un élément de données USAGE COMP-2 est déplacé vers un élément de données à point fixe (et non à virgule flottante externe) de 18 chiffres ou plus, puis renvoyé à l'élément de données USAGE COMP-2 , la valeur d'origine est récupérée.

Conversions entraînant un arrondi

Si un élément de données USAGE COMP-1 , un élément de données USAGE COMP-2 , un élément de données à virgule flottante externe ou un littéral à virgule flottante est déplacé vers un élément de données à virgule fixe, l'arrondi est effectué à la position de faible ordre de l'élément de données cible. Les valeurs fractionnaires .5 et plus sont arrondies à la valeur supérieure ; les valeurs fractionnaires inférieures à .5 sont arrondies à la valeur inférieure.

Si un élément de données USAGE COMP-2 est déplacé vers un élément de données USAGE COMP-1 , l'arrondi est effectué dans la position basse de l'élément de données cible.

Si un élément de données à virgule fixe est déplacé vers un élément de données à virgule flottante externe et que le PICTURE de l'élément de données à virgule fixe contient plus de positions numériques que le PICTURE de l'élément de données à virgule flottante externe, l'arrondi est effectué à la position de poids faible de l'élément de données cible.