ILE RPG Language Reference
The arithmetic operations are shown in the following
table.
For examples of arithmetic operations, see Figure 172.
Remember the following when specifying arithmetic operations:
- Arithmetic operations can be done only on numerics (including
numeric subfields, numeric arrays, numeric array elements, numeric
table elements, numeric named constants, numeric figurative constants,
and numeric literals).
- In general, arithmetic operations are performed using the packed-decimal
format. This means that the fields are first converted to packed-decimal
format prior to performing the arithmetic operation, and then converted
back to their specified format (if necessary) prior to placing the
result in the result field.
However, note the following exceptions:
- If all operands are unsigned, the operation will use unsigned
arithmetic.
- If all are integer, or integer and unsigned, then the operation
will use integer arithmetic.
- If any operands are float, then the remaining operands are converted
to float.
However, the DIV operation uses either the packed-decimal
or float format for its operations. For more information on integer
and unsigned arithmetic, see Integer and Unsigned Arithmetic.
- Decimal alignment is done for all arithmetic operations. Even
though truncation can occur, the position of the decimal point in
the result field is not affected.
- The result of an arithmetic operation replaces the data that was
in the result field.
- An arithmetic operation does not change factor 1 and factor 2
unless they are the same as the result field.
- If you use conditioning indicators with DIV and MVR, it is your
responsibility to ensure that the DIV operation occurs immediately
before the MVR operation. If conditioning indicators on DIV cause
the MVR operation to be executed when the immediately preceding DIV
was not executed, then undesirable results may occur.
- For information on using arrays with arithmetic operations, see Specifying an Array in Calculations.
[ Top of Page | Previous Page | Next Page | Contents |
Index ]