ILE RPG Language Reference
For all arithmetic operations (not including those in expressions)
if factor 1, factor 2, and the result field are defined with unsigned
format, then the operation is performed using unsigned format. Similarly,
if factor 1, factor 2, and the result field are defined as either
integer or unsigned format, then the operation is performed using
integer format. If any field does not have either integer or unsigned
format, then the operation is performed using the default format,
packed-decimal.
The following points apply to integer and unsigned arithmetic operations
only:
- All integer and unsigned operations are performed in
8-byte form.
- Integer and unsigned values may be used together in
one operation. However, if either factor 1, factor 2, or the result
field is integer, then all unsigned values are converted to integer.
If necessary, a 1-byte, 2-byte, or 4-byte unsigned value is converted
to a larger-sized integer value to lessen the chance of numeric overflow.
- If a literal has 20 digits or less with zero decimal
positions, and falls within the range allowed for integer and unsigned
fields, then it is loaded in integer or unsigned format, depending
on whether it is a negative or positive value respectively.
Note:
Integer or unsigned arithmetic may give better
performance. However, the chances of numeric overflow
may be greater when using integer or unsigned numeric format, than
when using packed or zoned decimal format.
[ Top of Page | Previous Page | Next Page | Contents |
Index ]