3.5: Some Simple Math
- Page ID
- 35807
C uses the same basic math operators as many other languages. These include +
, −
, /
(divide), and *
(multiply). Parentheses are used to group elements and force hierarchy of operations. C also includes %
for modulo. Modulo is an integer operation that leaves the remainder of a division, thus 5 modulo 7 is 2.
The divide behaves a little differently with integers than with floats as there can be no remainder. Thus 9 integer divide 4 is 2, not 2.25 as it would be if you were using floats. C also has a series of bit manipulators that we will look at a little later. For higher math operations, you will want to look at the math library (math.h
header file). Some examples are sin()
, cos()
, tan()
, log10()
(common log) and pow()
for powers and roots. Do not try to use ^
as you do on many calculators. x
raised to the y
power is not x^y
but rather pow(x, y)
. The ^
operator has an entirely different meaning in C! Recalling what we said earlier about libraries, if you wanted to use a function like sin()
in your code, you’d have to tell the compiler where to find the prototype and similar info. At the top of your program you’d add the line:
#include <math.h>
A final caution: The examples above are meant to be clear, but not necessarily the most efficient way of doing things. As we shall see, sometimes the way you code something can have a huge impact on its performance. Given the power of C, expert programmers can sometimes create code that is nearly indecipherable for ordinary people. There is a method behind the apparent madness.