8.12 Arithmetic Expressions

  1. op Expr
  2. Expr1 op Expr2
OperatorDescriptionArgument Type
+Unary +Number
-Unary -Number
+ number
- Number
* Number
/Floating point divisionNumber
bnotUnary bitwise NOTInteger
divInteger divisionInteger
remInteger remainder of X/YInteger
bandBitwise ANDInteger
borBitwise ORInteger
bxorArithmetic bitwise XORInteger
bslArithmetic bitshift leftInteger
bsrBitshift rightInteger

Table 8.2: Arithmetic Operators.

Examples:

  1. 1> +1.
  2. 1
  3. 2> -1.
  4. -1
  5. 3> 1+1.
  6. 2
  7. 4> 4/2.
  8. 2.0
  9. 5> 5 div 2.
  10. 2
  11. 6> 5 rem 2.
  12. 1
  13. 7> 2#10 band 2#01.
  14. 0
  15. 8> 2#10 bor 2#01.
  16. 3
  17. 9> a + 10.
  18. ** exception error: an error occurred when evaluating an arithmetic expression
  19. in operator +/2
  20. called as a + 10
  21. 10> 1 bsl (1 bsl 64).
  22. ** exception error: a system limit has been reached
  23. in operator bsl/2
  24. called as 1 bsl 18446744073709551616