title | ms.custom | ms.date | ms.technology | ms.topic | apiname | apilocation | apitype | f1_keywords | dev_langs | helpviewer_keywords | ms.assetid | author | ms.author | ms.workload | ||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
exp, expf, expl | Microsoft Docs |
04/05/2018 |
|
reference |
|
|
DLLExport |
|
|
|
7070016d-1143-407e-9e9a-6b059bb88867 |
corob-msft |
corob |
|
Calculates the exponential.
double exp(
double x
);
float exp(
float x
); // C++ only
long double exp(
long double x
); // C++ only
float expf(
float x
);
long double expl(
long double x
);
x
The floating-point value to exponentiate the natural logarithm base e by.
The exp functions return the exponential value of the floating-point parameter, x, if successful. That is, the result is ex, where e is the base of the natural logarithm. On overflow, the function returns INF (infinity) and on underflow, exp returns 0.
Input | SEH Exception | Matherr Exception |
---|---|---|
± Quiet NaN, indeterminate | None | _DOMAIN |
± Infinity | INVALID | _DOMAIN |
x ≥ 7.097827e+002 | INEXACT+OVERFLOW | OVERFLOW |
X ≤ -7.083964e+002 | INEXACT+UNDERFLOW | UNDERFLOW |
The exp function has an implementation that uses Streaming SIMD Extensions 2 (SSE2). See _set_SSE2_enable for information and restrictions on using the SSE2 implementation.
C++ allows overloading, so you can call overloads of exp that take a float or long double argument. In a C program, exp always takes and returns a double.
Function | Required C header | Required C++ header |
---|---|---|
exp, expf, expl | <math.h> | <cmath> or <math.h> |
For additional compatibility information, see Compatibility.
// crt_exp.c
#include <math.h>
#include <stdio.h>
int main( void )
{
double x = 2.302585093, y;
y = exp( x );
printf( "exp( %f ) = %f\n", x, y );
}
exp( 2.302585 ) = 10.000000