aboutsummaryrefslogtreecommitdiffstats
path: root/docs/source/arduino/arithmeticcompound.rst
blob: 734ef9d0498b955ee11deb4c29758d589f8c3747 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
.. highlight:: cpp

.. _arduino-arithmeticcompound:

Compound Arithmetic Operators (``+=`` , ``-=``, ``*=``, ``/=``)
===============================================================

Description
-----------

Perform a mathematical operation on a variable with another constant
or variable.  These operators are just a convenient shorthand::

    x += y;   // equivalent to the expression x = x + y;
    x -= y;   // equivalent to the expression x = x - y;
    x *= y;   // equivalent to the expression x = x * y;
    x /= y;   // equivalent to the expression x = x / y;

Here is an example::

    int x = 2;
    int y = 10;

    x += 4;          // x now contains 6
    x -= 3;          // x now contains 3
    x *= y;          // x now contains 30
    x /= 2;          // x now contains 15
    x += max(20, 6); // x now contains 35
    x -= sq(5);      // x now contains 15

Parameters
----------

**x**: a numeric variable

**y**: a numeric variable, number constant, or any other expression
that evaluates to a number (e.g. call to a function that returns a
number).

See Also
--------

- :ref:`Arithmetic operators <arduino-arithmetic>`


.. include:: cc-attribution.txt