Sdílet prostřednictvím


exp, expf, expl

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 higher

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á Žádné _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 floatlong 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, expf, expl <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, log10, log10f
_CIexp