Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Oblicza wykładnik.
Składnia
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
Wartość zmiennoprzecinkowa do wykładnika naturalnego logarytmu e przez.
Wartość zwracana
Funkcje exp zwracają wartość wykładniczą parametru zmiennoprzecinkowego , xjeśli powiedzie się. Oznacza to, że wynikiem jest ex, gdzie e jest podstawą logarytmu naturalnego. Po przepełnieniu funkcja zwraca INF wartość (nieskończoność) i po podpełnieniu exp zwraca wartość 0.
| Dane wejściowe | Wyjątek SEH | Wyjątek _matherr |
|---|---|---|
| ± Quiet NaN, nieokreślony | Brak | _DOMAIN |
| ± Nieskończoność | INVALID |
_DOMAIN |
x ≥ 7.097827e+002 |
INEXACT+OVERFLOW |
OVERFLOW |
x ≤ -7.083964e+002 |
INEXACT+UNDERFLOW |
UNDERFLOW |
Funkcja exp ma implementację korzystającą z rozszerzeń SIMD przesyłania strumieniowego 2 (SSE2). Zobacz _set_SSE2_enable , aby uzyskać informacje i ograniczenia dotyczące korzystania z implementacji SSE2.
Uwagi
Język C++ umożliwia przeciążenie, dzięki czemu można wywoływać przeciążenia exp , które przyjmują float argument lub long double . W programie języka C, chyba że używasz makra <tgmath.h> do wywoływania tej funkcji, exp zawsze przyjmuje i zwraca wartość double.
Jeśli używasz makra exp z <tgmath.h>, typ argumentu określa, która wersja funkcji jest zaznaczona. Aby uzyskać szczegółowe informacje, zobacz Typy ogólne matematyczne .
Domyślnie stan globalny tej funkcji jest zakresem aplikacji. Aby zmienić to zachowanie, zobacz Stan globalny w CRT.
Wymagania
| Function | Wymagany nagłówek języka C | Wymagany nagłówek języka C++ |
|---|---|---|
exp, , expfexpl |
<math.h> |
<cmath> lub <math.h> |
exp Makro |
<tgmath.h> |
Aby uzyskać więcej informacji o zgodności, zobacz Zgodność.
Przykład
// 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
Zobacz też
Obsługa obliczeń matematycznych i zmiennoprzecinkowych
log, , logf, , log10log10f
_CIexp