ldexp() - Mathematical Function

How is Mathematical Function "ldexp()" used in C++?
How to generate number from mantissa and exponent?


ldexp() is a Mathematical Function that returns the resulting floating point value from multiplying the mantissa (x) by 2 raised to the power of exponent(exp).(i.e) It returns the value of "num * 2exp ". If an overflow occurs "HUGE_VAL" is returned.


float ldexp( float num, int exp);
double ldexp( double num, int exp);
long double ldexp( long double num, int exp);

Example :

#include <stdio.h>
#include <math.h>
int main()
double num, r;
int exp=4;
num = 8.0;
r = ldexp( num, exp);
printf( "%lf times of 2 to the power
of %d is:: %lf\n", num,exp, r);
return 0;

Result :

8.000000 times of 2 to the power of 4 is:: 128.000000

In the above example ldexp() returns the value of "8*24".Thus a floating point number is generated from the mantissa(8.0) and exponent(4).

C++ Tutorial

Ask Questions

Ask Question