Addition, Subtraction, Multiplication, & Division


These operators return the sum, difference, product, or quotient (respectively) of the two operands. The operation is conducted using the data type of the operands, so, for example, 9 / 4 gives 2 since 9 and 4 are ints. This also means that the operation can overflow if the result is larger than that which can be stored in the data type (e.g. adding 1 to a short with the value 32,767 gives -32,768). If the operands are of different types, the “larger” type is used for the calculation.

If one of the numbers (operands) are of the type float or of type double, floating point math will be used for the calculation.


y = y + 3;
x = x - 7;
i = j * 6;
r = r / 5;


result = value1 + value2;
result = value1 - value2;
result = value1 * value2;
result = value1 / value2;


value1: any variable or constant
value2: any variable or constant

Programming Tips

  • Know that integer constants default to int, so some constant calculations may overflow.
  • Choose variable sizes that are large enough to hold the largest results from your calculations.
  • Know at what point your variable will “roll over” and also what happens in the other direction.
  • For math that requires fractions, use float or double variables, but be aware of their drawbacks: large size, slow computation speeds.
  • Use the cast operator e.g. (int)myFloat to convert one variable type to another on the fly.

Language Reference Home

The text of the 86Duino reference is a modification of the Arduino reference, and is licensed under a Creative Commons Attribution-ShareAlike 3.0 License. Code samples in the reference are released into the public domain.