exp
, expf
, expl
Calcola l'esponenziale.
Sintassi
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
Parametri
x
Valore a virgola mobile per esporre la base logaritmo naturale e by.
Valore restituito
Le exp
funzioni restituiscono il valore esponenziale del parametro a virgola mobile, , x
se ha esito positivo. Ovvero, il risultato è ex
, dove e è la base del logaritmo naturale. In caso di overflow, la funzione restituisce INF
(infinito) e in underflow restituisce exp
0.
Input | Eccezione SEH | Eccezione _matherr |
---|---|---|
± NaN tranquillo, indeterminato | None | _DOMAIN |
± Infinity | INVALID |
_DOMAIN |
x ≥ 7.097827e+002 |
INEXACT +OVERFLOW |
OVERFLOW |
x ≤ -7.083964e+002 |
INEXACT +UNDERFLOW |
UNDERFLOW |
La exp
funzione ha un'implementazione che usa Streaming SIMD Extensions 2 (SSE2). Vedere _set_SSE2_enable
per informazioni e restrizioni sull'uso dell'implementazione SSE2.
Osservazioni:
C++ consente l'overload, in modo da poter chiamare overload di exp
che accettano un float
argomento o long double
. In un programma C, a meno che non si usi la <tgmath.h>
macro per chiamare questa funzione, exp
accetta sempre e restituisce un oggetto double
.
Se si utilizza la exp
macro da <tgmath.h>
, il tipo dell'argomento determina quale versione della funzione è selezionata. Per informazioni dettagliate, vedere La matematica generica dei tipi.
Per impostazione predefinita, lo stato globale di questa funzione è limitato all'applicazione. Per modificare questo comportamento, vedere Stato globale in CRT.
Requisiti
Funzione | Intestazione C obbligatoria | Intestazione C++ obbligatoria |
---|---|---|
exp , expf , expl |
<math.h> |
<cmath> oppure <math.h> |
exp macro |
<tgmath.h> |
Per altre informazioni sulla compatibilità, vedere Compatibility (Compatibilità).
Esempio
// 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
Vedi anche
Supporto matematico e a virgola mobile
log
, logf
, log10
log10f
_CIexp