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.

Table of Contents

## 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!

## References

- Linux Manual page on the power() function in C