Skip to main content

# 3.5: Some Simple Math

• • Contributed by James M. Fiore
• Professor (Electrical Engineering Technology) at Mohawk Valley Community College

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.