aboutsummaryrefslogtreecommitdiffstats
path: root/docs/source/arduino/modulo.rst
diff options
context:
space:
mode:
Diffstat (limited to 'docs/source/arduino/modulo.rst')
-rw-r--r--docs/source/arduino/modulo.rst60
1 files changed, 25 insertions, 35 deletions
diff --git a/docs/source/arduino/modulo.rst b/docs/source/arduino/modulo.rst
index 195d15b..64a546d 100644
--- a/docs/source/arduino/modulo.rst
+++ b/docs/source/arduino/modulo.rst
@@ -1,3 +1,5 @@
+.. highlight:: cpp
+
.. _arduino-modulo:
% (modulo)
@@ -6,79 +8,67 @@
Description
-----------
-Calculates the remainder when one integer is divided by another. It
-is useful for keeping a variable within a particular range (e.g.
-the size of an array).
-
-
+Calculates the `remainder <http://en.wikipedia.org/wiki/Remainder>`_
+when one integer is divided by another. It is useful for keeping a
+variable within a particular range (e.g. the size of an array).
Syntax
------
-result = dividend % divisor
+::
+
+ result = dividend % divisor
Parameters
----------
-dividend: the number to be divided
-
-
-
-divisor: the number to divide by
-
+**dividend**: the number to be divided
+**divisor**: the number to divide by
Returns
-------
-the remainder
-
-
+The remainder of **dividend**\ /\ **divisor**\ .
Examples
--------
::
+ int x;
x = 7 % 5; // x now contains 2
x = 9 % 5; // x now contains 4
x = 5 % 5; // x now contains 0
x = 4 % 5; // x now contains 4
-
-
-Example Code
-------------
-
::
/* update one value in an array each time through a loop */
-
+
int values[10];
int i = 0;
-
- void setup() {}
-
- void loop()
- {
- values[i] = analogRead(0);
- i = (i + 1) % 10; // modulo operator rolls over variable
- }
+ void setup() {
+ // no setup necessary
+ }
+ void loop() {
+ values[i] = analogRead(0);
+ i = (i + 1) % 10; // modulo operator makes sure i stays between 0 and 9
+ }
Tip
---
-The modulo operator does not work on floats.
-
+The modulo operator does not work on floats. For that, you can use
+the C standard library function `fmod()
+<http://sourceware.org/newlib/libm.html#fmod>`_.
-See also
+See Also
--------
-
-- `division <http://arduino.cc/en/Reference/Arithmetic>`_
-
+- :ref:`Arithmetic <arduino-arithmetic>`