Mathematical formulae (math operators) are evaluated whenever a command, object or control structure calls for a formula or condition. Formulae allow only numeric operations, they may not be used on text strings (string provides members for working with text strings).
The following table lists operators in order of precedence -- topmost are evaluated first. Consecutive items colored equally in the table are evaluated left to right with the same precedence.
|!||Logical NOT - X (result is 0 or 1)|
|~||Bitwise NOT - X (flips every bit. e.g. 1 becomes -2)|
|^^||Power - X to Y|
|*||Multiply - X by Y|
|/||Divide - X by Y|
|\||Divide (Integer) - X by Y. (Remember to escape it! x\\y)|
|%||Modulus - X by Y|
|+||Add - X and Y|
|-||Subtract - Y from X|
|<<||Bitwise shift left - X by Y|
|>>||Bitwise shift right - X by Y|
|>||Greater than - X vs Y (result is 0 or 1)|
|>=||Greater than or equal to - X vs Y (result is 0 or 1)|
|<||Less than - X vs Y (result is 0 or 1)|
|<=||Less than or equal to - X vs Y (result is 0 or 1)|
|==||Equal - X vs Y (result is 0 or 1)|
|!=||Not equal - X vs Y (result is 0 or 1)|
|&||Bitwise AND - X and Y|
|^||Bitwise XOR - X xor Y|
||||Bitwise OR - X or Y|
|&&||Logical AND - X and Y (result is 0 or 1)|
|||||Logical OR - X or Y (result is 0 or 1)|
Operations can be grouped with parentheses ( and ) in standard form. The enclosed expression will be evaluated first, thus providing a way to change the order of operations in a formula.
Note that in contrast to algebraic form, ( and ) next to another expression without an operator is not an implied multiplication. You must explicitly specify the operation to use with the parentheses.
Certain keywords are treated as specific numbers in mathematical formulae. TRUE is treated as 1. FALSE and NULL are treated as 0.