exp2, exp2f, exp2l
|
|
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Défini dans l'en-tête
<math.h>
|
||
|
float
exp2f
(
float
n
)
;
|
(1) | (depuis C99) |
|
double
exp2
(
double
n
)
;
|
(2) | (depuis C99) |
|
long
double
exp2l
(
long
double
n
)
;
|
(3) | (depuis C99) |
|
Défini dans l'en-tête
<tgmath.h>
|
||
|
#define exp2( n )
|
(4) | (depuis C99) |
n
.
n
a le type
long
double
,
exp2l
est appelé. Sinon, si
n
a un type entier ou le type
double
,
exp2
est appelé. Sinon,
exp2f
est appelé.
Table des matières |
Paramètres
| n | - | valeur en virgule flottante |
Valeur de retour
Si aucune erreur ne se produit, l'exponentielle de base
2
de
n
(
2
n
) est renvoyée.
Si une erreur de plage due à un dépassement de capacité se produit,
+HUGE_VAL
,
+HUGE_VALF
, ou
+HUGE_VALL
est renvoyé.
Si une erreur de plage se produit en raison d'un dépassement inférieur, le résultat correct (après arrondi) est retourné.
Gestion des erreurs
Les erreurs sont signalées comme spécifié dans
math_errhandling
.
Si l'implémentation prend en charge l'arithmétique à virgule flottante IEEE (IEC 60559),
- Si l'argument est ±0, 1 est retourné
- Si l'argument est -∞, +0 est retourné
- Si l'argument est +∞, +∞ est retourné
- Si l'argument est NaN, NaN est retourné
Exemple
#include <errno.h> #include <fenv.h> #include <float.h> #include <math.h> #include <stdio.h> // #pragma STDC FENV_ACCESS ON int main(void) { printf("exp2(5) = %f\n", exp2(5)); printf("exp2(0.5) = %f\n", exp2(0.5)); printf("exp2(-4) = %f\n", exp2(-4)); // valeurs spéciales printf("exp2(-0.9) = %f\n", exp2(-0.9)); printf("exp2(-Inf) = %f\n", exp2(-INFINITY)); // gestion des erreurs errno = 0; feclearexcept(FE_ALL_EXCEPT); printf("exp2(1024) = %f\n", exp2(1024)); if (errno == ERANGE) perror(" errno == ERANGE"); if (fetestexcept(FE_OVERFLOW)) puts(" FE_OVERFLOW raised"); }
Sortie possible :
exp2(5) = 32.000000
exp2(0.5) = 1.414214
exp2(-4) = 0.062500
exp2(-0.9) = 0.535887
exp2(-Inf) = 0.000000
exp2(1024) = Inf
errno == ERANGE: Résultat trop grand
FE_OVERFLOW levée
Références
- Norme C23 (ISO/CEI 9899:2024) :
-
- 7.12.6.2 Les fonctions exp2 (p: TBD)
-
- 7.25 Mathématiques génériques de type <tgmath.h> (p: TBD)
-
- F.10.3.2 Les fonctions exp2 (p: TBD)
- Norme C17 (ISO/CEI 9899:2018) :
-
- 7.12.6.2 Les fonctions exp2 (p: 177)
-
- 7.25 Mathématiques génériques <tgmath.h> (p: 272-273)
-
- F.10.3.2 Les fonctions exp2 (p: 379)
- Norme C11 (ISO/IEC 9899:2011) :
-
- 7.12.6.2 Les fonctions exp2 (p: 242-243)
-
- 7.25 Mathématiques génériques de type <tgmath.h> (p: 373-375)
-
- F.10.3.2 Les fonctions exp2 (p: 521)
- Norme C99 (ISO/CEI 9899:1999) :
-
- 7.12.6.2 Les fonctions exp2 (p: 223)
-
- 7.22 Mathématiques génériques de type <tgmath.h> (p: 335-337)
-
- F.9.3.2 Les fonctions exp2 (p: 458)
Voir aussi
|
(C99)
(C99)
|
calcule
e
élevé à la puissance donnée (
\({\small e^x}\)
e
x
)
(fonction) |
|
(C99)
(C99)
(C99)
|
calcule
e
élevé à la puissance donnée, moins un (
\({\small e^x-1}\)
e
x
-1
)
(fonction) |
|
(C99)
(C99)
(C99)
|
calcule le logarithme en base 2 (
\({\small \log_{2}{x} }\)
log
2
(x)
)
(fonction) |
|
Documentation C++
pour
exp2
|
|