Precedence and associativity
If you combine several operands with different operators, the operator precedence defines in which order BI# performs the operations. For example, BI# interprets x + y * z as x + (y * z), because the operator * has a higher precedence than the operator +.
This table lists all operators that are sorted by their precedence from the highest to the lowest:
| Operators | Function | 
|---|---|
+ - ! | 
             Unary | 
* / % | 
             Multiplicative | 
+ - | 
             Additive | 
< > <= >= | 
             Relational | 
== != | 
             Equality | 
& | 
             Binary AND | 
^ | 
             Binary XOR | 
| | 
             Binary OR | 
and | 
             Logical AND | 
or | 
             Logical OR | 
= | 
             Assignment | 
Associativity controls the order of operations, if you combine several operands with the same operator. For example, BI# interprets x + y + z as (x + y) + z, because the +-operator is left-associative. At the moment all operators in BI# are left-associative.
You can always change precedence and associativity, if you use parentheses as in (x + y) * z, for example.