Note
Access to this page requires authorization. You can try signing in or changing directories.
Access to this page requires authorization. You can try changing directories.
Calculates the cube root.
Syntax
double cbrt(
double x
);
float cbrt(
float x
); // C++ only
long double cbrt(
long double x
); // C++ only
float cbrtf(
float x
);
long double cbrtl(
long double x
);
#define cbrt(X) // Requires C11 or higher
Parameters
x
Floating-point value
Return value
The cbrt
functions return the cube-root of x
.
Input | SEH exception | _matherr exception |
---|---|---|
± INF, QNaN, IND | none | none |
Remarks
Because C++ allows overloading, you can call overloads of cbrt
that take float
or long double
types. In a C program, unless you're using the <tgmath.h> macro to call this function, cbrt
always takes and returns double
.
If you use the <tgmath.h> cbrt()
macro, the type of the argument determines which version of the function is selected. See Type-generic math for details.
By default, this function's global state is scoped to the application. To change this behavior, see Global state in the CRT.
Requirements
Function | C header | C++ header |
---|---|---|
cbrt , cbrtf , cbrtl |
<math.h> | <cmath> |
cbrt macro |
<tgmath.h> |
For more compatibility information, see Compatibility.
Example
// crt_cbrt.c
// Compile using: cl /W4 crt_cbrt.c
// This program calculates a cube root.
#include <math.h>
#include <stdio.h>
int main( void )
{
double question = -64.64;
double answer;
answer = cbrt(question);
printf("The cube root of %.2f is %.6f\n", question, answer);
}
The cube root of -64.64 is -4.013289
See also
Math and floating-point support
exp
, expf
, expl
log
, logf
, log10
, log10f
pow
, powf
, powl