# Understanding the Power Function in C/C++

Filed Under: C Programming In this article, we’ll take a look at understanding the power function in C / C++.

The power function computes the power of a base, raised to an exponent number.

Let’s look at this function in a bit more detail, using some examples.

## Basic Syntax of the Power function in C/C++

The `pow()` function takes in a base number and an exponent number, and returns the value `base^(exponent)`.

All of these values are of the type `double`.

Also, this function is a part of the `<math.h>` header file, so we must import it first.

```#include <math.h>

double pow(double base, double exponent);
```

In case we give an incorrent range for the input, we will get a `NAN` result.

For example, if `base` is a negative finite value, and `exponent` is a finite non-integer, we will get a domain error, since the decimal power of a negative number is a complex number, which is not in the scope of C datatypes.

Let’s take a look at some examples now.

## Using the Power function in C / C++ – Some Examples

Let’s take two integers first, and find the power of them.

```#include <stdio.h>
#include <math.h>

int main() {
int base = 3;
int exponent = 5;

int result = (int) pow(base, exponent);

printf("Base = %d, Exponent = %d, Result = %d\n", base, exponent, result);

return 0;
}
```

Output

```Base = 3, Exponent = 5, Result = 242
```

As you can see, `pow()` did compute `3^5 = 243`.

Let’s check it for floating point numbers now.

```#include <stdio.h>
#include <math.h>

int main() {
double base = 3.45;
double exponent = 5.6;

double result = pow(base, exponent);

printf("Base = %.4lf, Exponent = %.4lf, Result = %.4lf\n", base, exponent, result);

return 0;
}
```

Output

```Base = 3.4500, Exponent = 5.6000, Result = 1027.5121
```

Indeed, it seems to work with floating point exponents and bases as well!

Let’s take another example, which will give us a `NAN` result.

```include <stdio.h>
#include <math.h>

int main() {
double base = -1;
double exponent = 5.6;

double result = pow(base, exponent);

printf("Base = %.4lf, Exponent = %.4lf, Result = %.4lf\n", base, exponent, result);

return 0;
}
```

Output

```Base = -1.0000, Exponent = 5.6000, Result = -nan
```

Here, since `-1^5.6` is a complex number, it will become a `nan` value! So you must be very careful to ensure that your input and output aren’t `nan` values!

## Conclusion

We learned about using `power()` in C / C++, which is useful to compute the mathematical power of a base, to an exponent.

For similar content, do go through our tutorial section on C programming!

close
Generic selectors
Exact matches only
Search in title
Search in content
Search in posts
Search in pages