log10, log10f, log10l
Von cppreference.com
| Definiert in Header <math.h> |
||
| float log10f( float arg ); |
(1) | (seit C99) |
| double log10( double arg ); |
(2) | |
| long double log10l( long double arg ); |
(3) | (seit C99) |
| Definiert in Header <tgmath.h> |
||
| #define log10( arg ) |
(4) | (seit C99) |
1-3) Berechnet den Zehnerlogarithmus (Basis-10) von arg.
4) Typ-generische Makro: Wenn arg vom Typ long double ist, wird
log10l aufgerufen. Andernfalls, wenn arg einen Ganzzahltyp oder den Typ double hat, wird log10 aufgerufen. Andernfalls wird log10f aufgerufen.Inhalt |
[bearbeiten] Parameter
| arg | - | Gleitkommawert |
[bearbeiten] Rückgabewert
Wenn keine Fehler auftreten, wird der Zehnerlogarithmus (Basis-10) von arg (log10(arg) oder lg(arg)) zurückgegeben.
Wenn ein Domänenfehler auftritt, wird ein implementierungsabhängiger Wert zurückgegeben (NaN, wo unterstützt).
Wenn ein Polfehler auftritt, wird -HUGE_VAL, -HUGE_VALF oder -HUGE_VALL zurückgegeben.
[bearbeiten] Fehlerbehandlung
Fehler werden wie in math_errhandling angegeben gemeldet.
Ein Domänenfehler tritt auf, wenn arg kleiner als Null ist.
Ein Pol-Fehler kann auftreten, wenn arg Null ist.
Wenn die Implementierung IEEE-Gleitkomma-Arithmetik (IEC 60559) unterstützt,
- Wenn das Argument ±0 ist, wird -∞ zurückgegeben und FE_DIVBYZERO ausgelöst.
- Wenn das Argument 1 ist, wird +0 zurückgegeben.
- Wenn das Argument negativ ist, wird NaN zurückgegeben und FE_INVALID ausgelöst.
- 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("log10(1000) = %f\n", log10(1000)); printf("log10(0.001) = %f\n", log10(0.001)); printf("base-5 logarithm of 125 = %f\n", log10(125) / log10(5)); // special values printf("log10(1) = %f\n", log10(1)); printf("log10(+Inf) = %f\n", log10(INFINITY)); // error handling errno = 0; feclearexcept(FE_ALL_EXCEPT); printf("log10(0) = %f\n", log10(0)); if (errno == ERANGE) perror(" errno == ERANGE"); if (fetestexcept(FE_DIVBYZERO)) puts(" FE_DIVBYZERO raised"); }
Mögliche Ausgabe
log10(1000) = 3.000000
log10(0.001) = -3.000000
base-5 logarithm of 125 = 3.000000
log10(1) = 0.000000
log10(+Inf) = inf
log10(0) = -inf
errno == ERANGE: Numerical result out of range
FE_DIVBYZERO raised[bearbeiten] Referenzen
- C23-Standard (ISO/IEC 9899:2024)
- 7.12.6.8 Die log10-Funktionen (S: TBD)
- 7.25 Typ-generische Mathematik <tgmath.h> (S. TBD)
- F.10.3.8 Die log10-Funktionen (S: TBD)
- C17-Standard (ISO/IEC 9899:2018)
- 7.12.6.8 Die log10-Funktionen (S: 179)
- 7.25 Typ-generische Mathematik <tgmath.h> (S. 272-273)
- F.10.3.8 Die log10-Funktionen (S: 380)
- C11-Standard (ISO/IEC 9899:2011)
- 7.12.6.8 Die log10-Funktionen (S: 245)
- 7.25 Typ-generische Mathematik <tgmath.h> (S. 373-375)
- F.10.3.8 Die log10-Funktionen (S: 522)
- C99-Standard (ISO/IEC 9899:1999)
- 7.12.6.8 Die log10-Funktionen (S: 225-226)
- 7.22 Typ-generische Mathematik <tgmath.h> (S. 335-337)
- F.9.3.8 Die log10-Funktionen (S: 459)
- C89/C90-Standard (ISO/IEC 9899:1990)
- 4.5.4.5 Die log10-Funktion
[bearbeiten] Siehe auch
| (C99)(C99) |
berechnet den natürlichen (Basis-e) Logarithmus (ln(x)) (Funktion) |
| (C99)(C99)(C99) |
berechnet den Basis-2 Logarithmus (log2(x)) (Funktion) |
| (C99)(C99)(C99) |
berechnet den natürlichen (Basis-e) Logarithmus von 1 plus die gegebene Zahl (ln(1+x)) (Funktion) |
| C++ Dokumentation für log10
| |