Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Vypočítá exponenciální hodnotu.
Syntaxe
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
);
#define exp(z) // Requires C11 or later
Parametry
x
Hodnota s plovoucí desetinnou čárkou exponenciuje přirozený logaritmus e o.
Vrácená hodnota
Funkce exp vrátí exponenciální hodnotu parametru s plovoucí desetinnou čárkou, xpokud je úspěšná. To znamená, že výsledkem je ex, kde e je základ přirozeného logaritmu. Při přetečení vrátí funkce INF (nekonečno) a při podtečení exp vrátí hodnotu 0.
| Vstup | Výjimka SEH | Výjimka _matherr |
|---|---|---|
| ± Quiet NaN, neurčitá | Nic | _DOMAIN |
| ± nekonečno | INVALID |
_DOMAIN |
x ≥ 7.097827e+002 |
INEXACT+OVERFLOW |
OVERFLOW |
x ≤ -7,083964e+002 |
INEXACT+UNDERFLOW |
UNDERFLOW |
Funkce exp má implementaci, která používá rozšíření SSE2 (Streaming SIMD Extensions 2). Informace _set_SSE2_enable a omezení týkající se použití implementace SSE2
Poznámky
C++ umožňuje přetížení, takže můžete volat přetížení tohoto exp typu nebo float long double argumentu. Pokud v programu jazyka C nepoužíváte <tgmath.h> makro k volání této funkce, exp vždy vezme a vrátí hodnotu double.
Pokud použijete exp makro z <tgmath.h>, typ argumentu určuje, která verze funkce je vybrána. Podrobnosti najdete v tématu Matematika pro obecné typy.
Ve výchozím nastavení je globální stav této funkce vymezen na aplikaci. Chcete-li toto chování změnit, přečtěte si téma Globální stav v CRT.
Požadavky
| Function | Požadovaná hlavička jazyka C | Požadovaná hlavička C++ |
|---|---|---|
exp, , expfexpl |
<math.h> |
<cmath> nebo <math.h> |
exp makro |
<tgmath.h> |
Další informace o kompatibilitě najdete v tématu Kompatibilita.
Příklad
// 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
Viz také
Podpora pro matematiku a plovoucí desetinou čárku
log, logf, , log10log10f
_CIexp