exp2, exp2f, exp2l
Von cppreference.com
| Definiert in Header <math.h> |
||
| float exp2f( float n ); |
(1) | (seit C99) |
| double exp2( double n ); |
(2) | (seit C99) |
| long double exp2l( long double n ); |
(3) | (seit C99) |
| Definiert in Header <tgmath.h> |
||
| #define exp2( n ) |
(4) | (seit C99) |
1-3) Berechnet 2 hoch der gegebenen Potenz
n.4) Typ-generische Makro: Wenn
n den Typ long double hat, wird exp2l aufgerufen. Andernfalls, wenn n einen ganzzahligen Typ oder den Typ double hat, wird exp2 aufgerufen. Andernfalls wird exp2f aufgerufen.Inhalt |
[bearbeiten] Parameter
| n | - | Gleitkommawert |
[bearbeiten] Rückgabewert
Wenn keine Fehler auftreten, wird die Basis-2-Exponentialfunktion von n (2n
) zurückgegeben.
Wenn ein Bereichsfehler aufgrund von Überlauf auftritt, wird +HUGE_VAL, +HUGE_VALF oder +HUGE_VALL zurückgegeben.
Wenn ein Bereichsfehler aufgrund eines Unterlaufs auftritt, wird das korrekte Ergebnis (nach Rundung) zurückgegeben.
[bearbeiten] Fehlerbehandlung
Fehler werden wie in math_errhandling angegeben gemeldet.
Wenn die Implementierung IEEE-Gleitkomma-Arithmetik (IEC 60559) unterstützt,
- Wenn das Argument ±0 ist, wird 1 zurückgegeben
- Wenn das Argument -∞ ist, wird +0 zurückgegeben
- Wenn das Argument +∞ ist, wird +∞ zurückgegeben.
- Wenn das Argument NaN ist, wird NaN zurückgegeben.
[bearbeiten] Beispiel
Führen Sie diesen Code aus
#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)); // special values printf("exp2(-0.9) = %f\n", exp2(-0.9)); printf("exp2(-Inf) = %f\n", exp2(-INFINITY)); //error handling 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"); }
Mögliche Ausgabe
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: Result too large
FE_OVERFLOW raised[bearbeiten] Referenzen
- C23-Standard (ISO/IEC 9899:2024)
- 7.12.6.2 Die exp2-Funktionen (S. TBD)
- 7.25 Typ-generische Mathematik <tgmath.h> (S. TBD)
- F.10.3.2 Die exp2-Funktionen (S. TBD)
- C17-Standard (ISO/IEC 9899:2018)
- 7.12.6.2 Die exp2-Funktionen (S. 177)
- 7.25 Typ-generische Mathematik <tgmath.h> (S. 272-273)
- F.10.3.2 Die exp2-Funktionen (S. 379)
- C11-Standard (ISO/IEC 9899:2011)
- 7.12.6.2 Die exp2-Funktionen (S. 242-243)
- 7.25 Typ-generische Mathematik <tgmath.h> (S. 373-375)
- F.10.3.2 Die exp2-Funktionen (S. 521)
- C99-Standard (ISO/IEC 9899:1999)
- 7.12.6.2 Die exp2-Funktionen (S. 223)
- 7.22 Typ-generische Mathematik <tgmath.h> (S. 335-337)
- F.9.3.2 Die exp2-Funktionen (S. 458)
[bearbeiten] Siehe auch
| (C99)(C99) |
berechnet e hoch die gegebene Potenz (ex) (Funktion) |
| (C99)(C99)(C99) |
berechnet e hoch die gegebene Potenz, minus eins (ex-1) (Funktion) |
| (C99)(C99)(C99) |
berechnet den Basis-2 Logarithmus (log2(x)) (Funktion) |
| C++ Dokumentation für exp2
| |