Appendix A. CRBasic Programming Instructions
SDMCV04()
SDMIO16()
TimedControl()
ProcHiPri/EndProcHiPri
DNP()
DNPUpdate()
DNPVariable()
ModbusMaster()
ModbusSlave()
A.7 Processing and Math Instructions
A.7.1 Mathematical Operators
Note Program declaration AngleDegrees() (see Program Declarations (p. 537))
sets math functions to use degrees instead of radians.
A.7.2 Arithmetic Operators
Table 136. Arithmetic Operators
Symbol Name Notes
^
Raise to power
Result is always promoted to a FLOAT
(p. 161) data
type to avoid problems that may occur when raising
an integer to a negative power. However, loss of
precision occurs if result is > 24 bits.
For example,
(46340 ^ 2) will yield 2,147,395,584 (not
precisely correct),
whereas
(46340 * 46340) will yield 2,147,395,600
(precisely correct)
Simply use repeated multiplications instead of ^
operators when full 32-bit precision is required.
Same functionality as PWR()
(p. 568) instruction.
*
Multiply
/
Divide Use INTDV() (p. 568) to retain 32-bit precision
+
Add
-
Subtract
=
Equal to
<>
Not equal to
>
Greater than
<
Less than
>=
Greater than or
equal to
563