JBEE recognizes the following operators:
- Basic arithmetics: +, -, * and /
These are the standard infix operators for addition, subtraction, multiplication and division. For example
5+10*2will evaluate to 25. All operators except division use unlimited precision by default.
- Binary: #, |, &, >>, << and ~
- All binary operators require integer values and bind weaker than the basic arithmetic operators. The # operator implements XOR since the ^ symbol is already used for exponentiation.
- Power: ^
- Raises a base value to the power of an exponent. For example,
2^4will evaluate to 16. In the default implementation, the exponent must be integer.
- Remainder: %
- The remainder is the integer "left over" after dividing one integer by another to produce an integer quotient (integer division). For example,
8%3will evaluate to 2.
- Move: :
:moves the decimal point by n places according to sign. It may be used to emulate scientific notation. For example,
1.2:-2will evaluate to 0.012 while
1.2:2will evaluate to 10.2 and
1.2:0leaves the point in place.
- Mercantile: +% and -%
- Adds or subtracts a percentage from a value. For example
100 -% 25will evaluate to 75.
- Brackets: ( and )
- Brackets change precedence. For example,
(3+7)/2will evaluate to 5.