Omron SYSMAC CJ - REFERENCE MANUAL 01-2008 Reference Manual page 632

Sysmac cs/cj/one nsj series programmable controllers
Table of Contents

Advertisement

Floating-point Math Instructions
Zero
Infinity
NaN
Floating-point Arithmetic Results
Rounding Results
Overflows, Underflows,
and Illegal Calculations
Precautions in Handling
Special Values
Floating-point Calculation Results
Example
Values of +0.0 and –0.0 can be expressed by setting the sign to 0 for positive
or 1 for negative. The exponent and mantissa will both be 0. Both +0.0 and
–0.0 are equivalent to 0.0. Refer to Floating-point Arithmetic Results, below,
for differences produced by the sign of 0.0.
Values of + and – can be expressed by setting the sign to 0 for positive or 1
for negative. The exponent will be 255 (2
NaN (not a number) is produced when the result of calculations, such as 0.0/
0.0, / , or
– , does not correspond to a number or infinity. The exponent
8
will be 255 (2
– 1) and the mantissa will be not 0.
Note There are no specifications for the sign of NaN or the value of the mantissa
field (other than to be not 0).
The following methods will be used to round results when the number of digits
in the accurate result of floating-point arithmetic exceeds the significant digits
of internal processing expressions.
If the result is close to one of two internal floating-point expressions, the
closer expression will be used. If the result is midway between two internal
floating-point expressions, the result will be rounded so that the last digit of
the mantissa is 0.
Overflows will be output as either positive or negative infinity, depending on
the sign of the result. Underflows will be output as either positive or negative
zero, depending on the sign of the result.
Illegal calculations will result in NaN. Illegal calculations include adding infinity
to a number with the opposite sign, subtracting infinity from a number with the
opposite sign, multiplying zero and infinity, dividing zero by zero, or dividing
infinity by infinity.
The value of the result may not be correct if an overflow occurs when convert-
ing a floating-point number to an integer.
The following precautions apply to handling zero, infinity, and NaN.
• The sum of positive zero and negative zero is positive zero.
• The difference between zeros of the same sign is positive zero.
• If any operand is a NaN, the results will be a NaN.
• Positive zero and negative zero are treated as equivalent in comparisons.
• Comparison or equivalency tests on one or more NaN will always be true
for != and always be false for all other instructions.
When the absolute value of the result is greater than the maximum value that
can be expressed for floating-point data, the Overflow Flag will turn ON and
the result will be output as
negative, then – .
The Equals Flag will only turn ON when both the exponent (e) and the man-
tissa (f) are zero after a calculation. A calculation result will also be output as
zero when the absolute value of the result is less than the minimum value that
can be expressed for floating-point data. In that case the Underflow Flag will
turn ON.
In this program example, the X-axis and Y-axis coordinates (x, y) are provided
by 4-digit BCD content of D00000 and D00001. The distance (r) from the ori-
8
– 1) and the mantissa will be 0.
. If the result is positive, it will be output as + ; if
Section 3-15
593

Hide quick links:

Advertisement

Table of Contents
loading

Table of Contents