This shows you the differences between two versions of the page.
arduino:arithmetic_operators:arithmetic [2013/02/15 19:09] 158.181.88.241 [Description] |
arduino:arithmetic_operators:arithmetic [2024/02/16 01:04] (current) |
||
---|---|---|---|
Line 3: | Line 3: | ||
==== Description ==== | ==== Description ==== | ||
- | 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 an [[arduiono:data types:int]] with the value 32,767 gives -32,768). If the operands are of different types, the "larger" type is used for the calculation. | + | 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 an [[arduino:data_types:int|]] 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. | If one of the numbers (operands) are of the type **float** or of type **double**, floating point math will be used for the calculation. | ||
Line 33: | Line 33: | ||
====Programming Tips: ==== | ====Programming Tips: ==== | ||
- | * Know that [[integer constants]] default to [[int]], so some constant calculations may overflow (e.g. 60 * 1000 will yield a negative result). | + | * Know that [[arduino:data_types:int|integer constants]] default to [[arduino:data_types:int|]], so some constant calculations may overflow (e.g. 60 * 1000 will yield a negative result). |
* Choose variable sizes that are large enough to hold the largest results from your calculations | * Choose variable sizes that are large enough to hold the largest results from your calculations |