6.11.99 ldexpl Function
Calculates the result of a long double precision floating-point number multiplied by an exponent of 2.
Include
<math.h>
Prototype
long double ldexpf(long double x, int exp);
Arguments
x
- floating-point value
exp
- integer exponent
Return Value
Returns x
* 2^exp
Example
See the notes at the beginning of this chapter or section for
information on using printf()
or scanf()
(and other functions reading and writing the stdin
or
stdout
streams) in the example code.
#include <math.h>
#include <stdio.h>
#include <errno.h>
int main(void)
{
long double x,y;
int n;
x = -0.625;
n = 2;
y = ldexpl(x, n);
printf("For a number = %Lf and an exponent = %d\n", x, n);
printf(" ldexpl(%Lf, %d) = %Lf\n\n", x, n, y);
x = 2.5;
n = 3;
y = ldexpl(x, n);
printf("For a number = %Lf and an exponent = %d\n", x, n);
printf(" ldexpl(%Lf, %d) = %Lf\n\n", x, n, y);
x = 15.0;
n = 10000;
y = ldexpl(x, n);
printf("For a number = %Lf and an exponent = %d\n", x, n);
printf(" ldexp(%Lf, %d) = %Lf\n\n", x, n, y);
}
Example Output
For a number = -0.625000 and an exponent = 2
ldexp(-0.625000, 2) = -2.500000
For a number = 2.500000 and an exponent = 3
ldexp(2.500000, 3) = 20.000000
For a number = 15.000000 and an exponent = 10000
ldexp(15.000000, 10000) = inf