The topic you requested is included in another documentation set. For convenience, it's displayed below. Choose Switch to see the topic in its original location.
We recommend using Visual Studio 2017

# ldexp

Visual Studio 2015

The new home for Visual Studio documentation is Visual Studio 2017 Documentation on docs.microsoft.com.

Multiplies a floating-point number by an integral power of two.

## Syntax

```double ldexp(
double x,
int exp
);
float ldexp(
float x,
int exp
);  // C++ only
long double ldexp(
long double x,
int exp
);  // C++ only
float ldexpf(
float x,
int exp
);
long double ldexpl(
long double x,
int exp
);

```

#### Parameters

`x`
Floating-point value.

`exp`
Integer exponent.

## Return Value

The `ldexp` function returns the value of `x` * 2exp if successful. On overflow, and depending on the sign of `x`, `ldexp` returns +/– `HUGE_VAL`; the `errno` value is set to `ERANGE`.

For more information about `errno` and possible error return values, see errno, _doserrno, _sys_errlist, and _sys_nerr.

## Remarks

Because C++ allows overloading, you can call overloads of `ldexp` that take `float` or `long double` types. In a C program, `ldexp` always takes a `double` and an `int` and returns a `double`.

## Requirements

`ldexp`, `ldexpf`, `ldexpl`<math.h><cmath>

For compatibility information, see Compatibility.

## Example

```// crt_ldexp.c

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

int main( void )
{
double x = 4.0, y;
int p = 3;

y = ldexp( x, p );
printf( "%2.1f times two to the power of %d is %2.1f\n", x, p, y );
}

```

## Output

```4.0 times two to the power of 3 is 32.0

```

## .NET Framework Equivalent

System::Math::Pow