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
Copyright (c) 2002-2012 mikroElektronika. All rights reserved.
What do you think about this topic ? Send us feedback!
Want more examples and libraries? 
Find them on LibStock - A place for the code