Arithmetic Operators
Arithmetic operators are used to perform mathematical computations. They have numerical operands and return numerical results. Since the char operators are technically bytes, they can be also used as unsigned operands in arithmetic operations.
All arithmetic operators associate from left to right.
Arithmetic Operators Overview
| Operator | Operation | Operands | Result |
|---|---|---|---|
| + | addition | byte, short, word, integer, longint, longword, float | byte, short, word, integer, longint, longword, float |
| - | subtraction | byte, short, word, integer, longint, longword, float | byte, short, word, integer, longint, longword, float |
| * | multiplication | byte, short, word, integer, longint, longword, float | word, integer, longint, longword, float |
| / | division, floating-point | byte, short, word, integer, longint, longword, float | float |
| div | division, rounds down to nearest integer | byte, short, word, integer, longint, longword | byte, short, word, integer, longint, longword |
| mod | modulus, returns the remainder of integer division (cannot be used with floating points) | byte, short, word, integer, longint, longword | byte, short, word, integer, longint, longword |
Division by Zero
If 0 (zero) is used explicitly as the second operand (i.e. x div 0), the compiler will report an error and will not generate code.
But in case of implicit division by zero: x div y, where y is 0 (zero), the result will be the maximum integer (i.e 255, if the result is byte type; 65536, if the result is word type, etc.).
Unary Arithmetic Operators
Operator - can be used as a prefix unary operator to change sign of a signed value. Unary prefix operator + can be used, but it doesn’t affect data.
For example:
b = -a
What do you think about this topic ? Send us feedback!



