10.2. Arithmetic Operators
Rexx
arithmetic is performed by the operators
+,
-,
*,
/,
%,
//, and
**
(add, subtract, multiply, divide, integer divide, remainder, and power).
Before every arithmetic operation, the terms operated upon have leading
zeros removed (noting the position of any decimal point, and leaving only
one zero if all the digits in the number are zeros). They are then truncated,
if necessary, to DIGITS + 1 significant digits before being used in the
computation. The extra digit improves accuracy because it is inspected at the
end of an operation, when a number is rounded to the required precision. When
a number is truncated, the LOSTDIGITS condition is raised if a SIGNAL ON LOSTDIGITS
condition trap is active. The operation is then carried out under up to double
that precision. When the operation is completed, the result is rounded, if
necessary, to the precision specified by the NUMERIC DIGITS instruction.