10000000000 * 10000000000
would
give
100000000000000000000
and
.00000000001 * .00000000001
would give
0.0000000000000000000001
For both large
and small numbers some form of exponential notation is useful, both
to make long numbers more readable, and to make execution possible
in extreme cases. In addition, exponential notation is used whenever
the "simple" form would give misleading information.numeric digits 5
say 54321*54321
would display 2950800000 in long
form. This is clearly misleading, and so the result is expressed as 2.9508E+9 instead.The integer following the E represents a power of ten that is to be applied to the number. The E can be in uppercase or lowercase.>>-+--------+--+------------------+--+-digits------------+------> '-blanks-' '-sign--+--------+-' +-digits--.--digits-+ '-blanks-' +-.--digits---------+ '-digits--.---------' >--+---------------------+--+--------+------------------------->< '-E--+------+--digits-' '-blanks-' '-sign-'
Certain character strings are numbers even though they do not appear to be numeric to the user. Specifically, because of the format of numbers in exponential notation, strings, such as 0E123 (0 raised to the 123 power) and 1E342 (1 raised to the 342 power), are numeric. In addition, a comparison such as 0E123=0E567 gives a true result of 1 (0 is equal to 0). To prevent problems when comparing nonnumeric strings, use the strict comparison operators.
12E7 = 120000000 /* Displays "1" */
12E-5 = 0.00012 /* Displays "1" */
-12e4 = -120000 /* Displays "1" */
0e123 = 0e456 /* Displays "1" */
0e123 == 0e456 /* Displays "0" */
The preceding
numbers are valid for input data at all times. The results of calculations
are returned in either conventional or exponential form, depending
on the setting of NUMERIC DIGITS. If the number of places needed before
the decimal point exceeds DIGITS, or the number of places after the
point exceeds twice DIGITS, exponential form is used. The exponential
form REXX generates always has a sign following the E to
improve readability. If the exponent is 0, then the exponential
part is omitted—that is, an exponential part of E+0 is
never generated.You can explicitly convert numbers to exponential form, or force them to be displayed in long form, by using the FORMAT built-in function (see page FORMAT).
Scientific notation is the default..-SCIENTIFIC------------. >>-NUMERIC FORM--+-----------------------+--;------------------>< +-ENGINEERING-----------+ '-+-------+--expression-' '-VALUE-'
/* after the instruction */
Numeric form scientific
123.45 * 1e11 -> 1.2345E+13
/* after the instruction */
Numeric form engineering
123.45 * 1e11 -> 12.345E+12