Namensräume
Varianten
Aktionen

cbrt, cbrtf, cbrtl

Von cppreference.com
< c‎ | numerik‎ | math
 
 
 
Allgemeine mathematische Funktionen
Funktionen
Grundlegende Operationen
(C99)
(C99)
(C99)
(C99)(C99)(C99)(C23)
Maximum/Minimum-Operationen
(C99)
(C99)
Exponentialfunktionen
(C23)
(C99)
(C99)
(C23)
(C23)

(C99)
(C99)(C23)
(C23)
(C23)
Potenzfunktionen
cbrt
(C99)
(C23)
(C23)

(C99)
(C23)
(C23)
Trigonometrische und hyperbolische Funktionen
(C23)
(C23)
(C23)
(C23)
(C99)
(C99)
(C99)
Nächste ganze Gleitkommazahlen
(C99)(C99)(C99)
(C99)

(C99)(C99)(C99)
(C23)(C23)(C23)(C23)
Gleitkomma-Manipulation
(C99)(C99)
(C99)(C23)
(C99)
Verengende Operationen
(C23)
(C23)
(C23)
(C23)
(C23)
(C23)
Quanten- und Quantenexponent-Funktionen
Dezimal-Neu-Kodierungsfunktionen
Gesamtordnung und Payload-Funktionen
Klassifizierung
(C99)
(C99)
(C99)
(C23)
Fehler- und Gammafunktionen
(C99)
(C99)
(C99)
(C99)
Typen
Makrokonstanten
Spezielle Gleitkommawerte
(C99)(C23)
Argumente und Rückgabewerte
Fehlerbehandlung
Schnelle Operationsanzeigen
 
Definiert in Header <math.h>
float       cbrtf( float arg );
(1) (seit C99)
double      cbrt( double arg );
(2) (seit C99)
long double cbrtl( long double arg );
(3) (seit C99)
Definiert in Header <tgmath.h>
#define cbrt( arg )
(4) (seit C99)
1-3) Berechnet die Kubikwurzel von arg.
4) Typgenerische Makro: Wenn arg vom Typ long double ist, wird cbrtl aufgerufen. Andernfalls, wenn arg einen Ganzzahltyp oder den Typ double hat, wird cbrt aufgerufen. Andernfalls wird cbrtf aufgerufen.

Inhalt

[bearbeiten] Parameter

arg - Gleitkommawert

[bearbeiten] Rückgabewert

Wenn keine Fehler auftreten, wird die Kubikwurzel von arg (3arg) 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 oder ±∞ ist, wird es unverändert zurückgegeben.
  • Wenn das Argument NaN ist, wird NaN zurückgegeben.

[bearbeiten] Hinweise

cbrt(arg) ist nicht äquivalent zu pow(arg, 1.0/3), da die rationale Zahl
1
3
typischerweise nicht gleich 1.0/3 ist und std::pow eine negative Basis nicht mit einem gebrochenen Exponenten potenzieren kann. Darüber hinaus liefert cbrt(arg) normalerweise genauere Ergebnisse als pow(arg, 1.0/3) (siehe Beispiel).

[bearbeiten] Beispiel

#include <float.h>
#include <math.h>
#include <stdio.h>
 
int main(void)
{
    printf("Normal use:\n"
           "cbrt(729)      = %f\n", cbrt(729));
    printf("cbrt(-0.125)   = %f\n", cbrt(-0.125));
    printf("Special values:\n"
           "cbrt(-0)       = %f\n", cbrt(-0.0));
    printf("cbrt(+inf)     = %f\n", cbrt(INFINITY));
    printf("Accuracy:\n"
           "cbrt(343)      = %.*f\n", DBL_DECIMAL_DIG, cbrt(343));
    printf("pow(343,1.0/3) = %.*f\n", DBL_DECIMAL_DIG, pow(343, 1.0/3));
}

Mögliche Ausgabe

Normal use:
cbrt(729)      = 9.000000
cbrt(-0.125)   = -0.500000
Special values:
cbrt(-0)       = -0.000000
cbrt(+inf)     = inf
Accuracy:
cbrt(343)      = 7.00000000000000000
pow(343,1.0/3) = 6.99999999999999911

[bearbeiten] Referenzen

  • C23-Standard (ISO/IEC 9899:2024)
  • 7.12.7.1 Die cbrt-Funktionen (S. TBD)
  • 7.25 Typ-generische Mathematik <tgmath.h> (S. TBD)
  • F.10.4.1 Die cbrt-Funktionen (S. TBD)
  • C17-Standard (ISO/IEC 9899:2018)
  • 7.12.7.1 Die cbrt-Funktionen (S. 180-181)
  • 7.25 Typ-generische Mathematik <tgmath.h> (S. 272-273)
  • F.10.4.1 Die cbrt-Funktionen (S. 381-)
  • C11-Standard (ISO/IEC 9899:2011)
  • 7.12.7.1 Die cbrt-Funktionen (S. 247)
  • 7.25 Typ-generische Mathematik <tgmath.h> (S. 373-375)
  • F.10.4.1 Die cbrt-Funktionen (S. 524)
  • C99-Standard (ISO/IEC 9899:1999)
  • 7.12.7.1 Die cbrt-Funktionen (S. 228)
  • 7.22 Typ-generische Mathematik <tgmath.h> (S. 335-337)
  • F.9.4.1 Die cbrt-Funktionen (S. 460)

[bearbeiten] Siehe auch

(C99)(C99)
berechnet eine Zahl hoch die gegebene Potenz (xy)
(Funktion) [bearbeiten]
(C99)(C99)
berechnet die Quadratwurzel (x)
(Funktion) [bearbeiten]
(C99)(C99)(C99)
berechnet die Quadratwurzel der Summe der Quadrate zweier gegebener Zahlen (x2
+y2
)
(Funktion) [bearbeiten]