# C++ ldexp()

The ldexp() function in C++ takes two arguments: x and exp and returns the product of x and 2 raised to the power of exp i.e. x * 2exp.

The function is defined in <cmath> header file.

Mathematically,

`ldexp(x, exp) = x * 2exp`

## ldexp() prototype [As of C++ 11 standard]

```double ldexp (double x, int exp);
float ldexp (float x, int exp);
long double ldexp (long double x, int exp);
double ldexp (T x, int exp); // For integral type```

The ldexp() function takes two arguments and returns a value of type `double`, `float` or `long double`.

## ldexp() Parameters

• x - The floating point value representing the significand.
• exp - The value of exponent.

## ldexp() Return value

The ldexp() function returns the value of the expression x * 2exp.

## Example 1: How ldexp() function works in C++?

``````#include <iostream>
#include <cmath>

using namespace std;

int main ()
{
double x = 13.056, result;
int exp = 2;
result = ldexp(x , exp);
cout << "ldexp(x, exp) = " << result << endl;

return 0;
}```
```

When you run the program, the output will be:

```ldexp(x, exp) = 52.224
```

## Example 2: ldexp() function with integral type

``````#include <iostream>
#include <cmath>

using namespace std;

int main ()
{
double result;
int x = 25, exp = 5;

result = ldexp(x , exp);
cout << "ldexp(x, exp) = " << result << endl;

return 0;
}```
```

When you run the program, the output will be:

```ldexp(x, exp) = 800
```