Namespaces
Variants
Views
Actions

exp

From cppreference.com
< c‎ | numeric‎ | math
 
 
 
Common mathematical functions
Functions
Basic operations
(C99)
(C99)
(C99)
(C99)
(C99)
(C99)(C99)(C99)
Exponential functions
exp
(C99)
(C99)
(C99)
(C99)
Power functions
(C99)
(C99)
Trigonometric and hyperbolic functions
(C99)
(C99)
(C99)
Error and gamma functions
(C99)
(C99)
(C99)
(C99)
Nearest integer floating point operations
(C99)(C99)(C99)
(C99)
(C99)(C99)(C99)
Floating point manipulation functions
(C99)(C99)
(C99)
(C99)
Classification
(C99)
(C99)
(C99)
Macro constants
 
Defined in header <math.h>
float       expf( float arg );
(since C99)
double      exp( double arg );
long double expl( long double arg );
(since C99)

Computes the e (Euler's number, 2.7182818) raised to the given power arg

Contents

[edit] Parameters

arg - floating point value

[edit] Return value

e raised to the power arg

If the result is too large for the underlying type, range error occurs and HUGE_VAL is returned.


[edit] Example

#include <stdio.h>
#include <math.h>
#include <errno.h>
#include <string.h>
 
int main()
{
    printf("exp(1.0)       = %f\n", exp(1.0));
    printf("log(2.718282)  = %f\n", log(2.718282));   /* inverse of exp */
    printf("exp(+0)        = %f\n", exp(+0));
    printf("exp(-0)        = %f\n", exp(-0));
    printf("exp(+INFINITY) = %f\n", exp(+INFINITY));
    printf("exp(-INFINITY) = %f\n", exp(-INFINITY));
    printf("exp(NAN)       = %f\n", exp(NAN));
    printf("\n");
 
    /* range error */
    errno = 0;
    printf("exp(710.0)     = %f\n", exp(710.0));
    printf("%s\n",strerror(errno));
 
    return 0;
}

Possible output:

exp(1.0)       = 2.718282
log(2.718282)  = 1.000000
exp(+0)        = 1.000000
exp(-0)        = 1.000000
exp(+INFINITY) = inf
exp(-INFINITY) = 0.000000
exp(NAN)       = nan
 
exp(710.0)     = inf
Numerical result out of range

[edit] See also

computes natural (base e) logarithm (to base e) (ln(x))
(function) [edit]
raises a number to the given power (xy)
(function) [edit]