8.12 Arithmetic Expressions
- op Expr
- Expr1 op Expr2
Operator | Description | Argument Type |
+ | Unary + | Number |
- | Unary - | Number |
+ | number | |
- | Number | |
* | Number | |
/ | Floating point division | Number |
bnot | Unary bitwise NOT | Integer |
div | Integer division | Integer |
rem | Integer remainder of X/Y | Integer |
band | Bitwise AND | Integer |
bor | Bitwise OR | Integer |
bxor | Arithmetic bitwise XOR | Integer |
bsl | Arithmetic bitshift left | Integer |
bsr | Bitshift right | Integer |
Table 8.2: Arithmetic Operators.
Examples:
- 1> +1.
- 1
- 2> -1.
- -1
- 3> 1+1.
- 2
- 4> 4/2.
- 2.0
- 5> 5 div 2.
- 2
- 6> 5 rem 2.
- 1
- 7> 2#10 band 2#01.
- 0
- 8> 2#10 bor 2#01.
- 3
- 9> a + 10.
- ** exception error: an error occurred when evaluating an arithmetic expression
- in operator +/2
- called as a + 10
- 10> 1 bsl (1 bsl 64).
- ** exception error: a system limit has been reached
- in operator bsl/2
- called as 1 bsl 18446744073709551616