diff options
Diffstat (limited to 'source/arduino/modulo.rst')
-rw-r--r-- | source/arduino/modulo.rst | 60 |
1 files changed, 25 insertions, 35 deletions
diff --git a/source/arduino/modulo.rst b/source/arduino/modulo.rst index 195d15b..64a546d 100644 --- a/source/arduino/modulo.rst +++ b/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>` |