Notation exponentielle
La notation exponentielle est utile pour les nombres grands et petits.
purs, en ce sens que les chaînes de caractères qui décrivent les nombres peuvent être très longues. Par exemple :
10000000000 * 10000000000
donnerait100000000000000000000
et.00000000001 * .00000000001
donnerait0.0000000000000000000001
Pour les grands et les petits nombres, une forme de notation exponentielle est utile, à la fois pour rendre les nombres longs plus lisibles et pour rendre l'exécution possible dans les cas extrêmes. En outre, la notation exponentielle est utilisée chaque fois que le formulaire simplefournit des informations trompeuses.
numeric digits 5
say 54321*54321
affiche 2950800000
sous forme longue. Ceci est clairement trompeur et le résultat est donc exprimé sous la forme 2.9508E+9
à la place.E
représente une puissance de dix qui doit être appliquée au nombre. Le E
peut être en majuscules ou en minuscules.Certaines chaînes de caractères sont des nombres même si elles ne semblent pas être numériques pour l'utilisateur. Plus précisément, en raison du format des nombres en notation exponentielle, les chaînes, telles que 0E123
(0 élevé à la puissance 123) et 1E342
(1 élevé à la puissance 342), sont numériques. En outre, une comparaison telle que 0E123=0E567
donne un résultat réel de 1
(0 est égal à 0). Pour éviter les problèmes lors de la comparaison de chaînes non numériques, utilisez les opérateurs de comparaison stricts.
12E7 = 120000000 /* Displays "1" */
12E-5 = 0.00012 /* Displays "1" */
-12e4 = -120000 /* Displays "1" */
0e123 = 0e456 /* Displays "1" */
0e123 == 0e456 /* Displays "0" */
Les nombres précédents sont valides pour les données d'entrée à tout moment. Les résultats des calculs sont renvoyés sous forme conventionnelle ou exponentielle, en fonction de la valeur de NUMERIC DIGITS. Si le nombre de décimales nécessaires avant la virgule dépasse DIGITS, ou si le nombre de décimales après la virgule dépasse deux fois DIGITS, la forme exponentielle est utilisée. La forme exponentielle générée par REXX comporte toujours un signe après E
pour améliorer la lisibilité. Si l'exposant est 0
, la partie exponentielle est omise, c'est-à-dire qu'une partie exponentielle de E+0
n'est jamais générée.Vous pouvez explicitement convertir des nombres en forme exponentielle ou les forcer à être affichés sous forme longue à l'aide de la fonction intégrée FORMAT (voir FORMAT).
0
) apparaissent avant le séparateur décimal, et la puissance de dix est toujours exprimée sous la forme d'un multiple de trois. La partie entière peut donc être comprise entre 1
et 999
. Vous pouvez contrôler si la notation scientifique ou technique est utilisée avec l'instruction suivante:La notation scientifique est la valeur par défaut./* after the instruction */
Numeric form scientific
123.45 * 1e11 -> 1.2345E+13
/* after the instruction */
Numeric form engineering
123.45 * 1e11 -> 12.345E+12