FREXP(3) | Library Functions Manual | FREXP(3)

# NAME

`frexp`, `frexpf`, `frexpl` — convert floating-point number to fractional and integral components

# SYNOPSIS

Math Library (libm, -lm)
`#include <math.h>`

double
`frexp`(double value, int *exp);

float
`frexpf`(float value, int *exp);

long double
`frexpl`(long double value, int *exp);

# DESCRIPTION

The `frexp`() function breaks a floating-point number into a normalized fraction and an integral power of 2. It stores the integer in the int object pointed to by exp. The `frexpf`() function is a single precision version of `frexp`(). The `frexpl`() function is an extended precision version of `frexp`().

# RETURN VALUES

The `frexp`(), `frexpf`() and `frexpl`() functions return the value `x`, such that `x` is a double with magnitude in the interval [1/2, 1) or zero, and value equals `x` times 2 raised to the power *exp. If value is zero, both parts of the result are zero.

# SEE ALSO

ldexp(3), modf(3)

# STANDARDS

The `frexp`() function conforms to ANSI X3.159-1989 (“ANSI C89”).

June 6, 2025 | Debian