8.12  Arithmetic Expressions

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 ```