NOMBRE

frexp, frexpf, frexpl - descompone un número en coma flotante en sus componentes entero y fraccional

BIBLIOTECA

Biblioteca Matemática ( libm, -lm)

SINOPSIS

#include <math.h>
double frexp(double x, int *exp);
float frexpf(float x, int *exp);
long double frexpl(long double x, int *exp);
Requisitos de Macros de Prueba de Características para glibc (véase feature_test_macros(7)):
frexpf(), frexpl():
    _ISOC99_SOURCE || _POSIX_C_SOURCE >= 200112L
        || /* Desde glibc 2.19: */ _DEFAULT_SOURCE
        || /* glibc <= 2.19: */ _BSD_SOURCE || _SVID_SOURCE

DESCRIPCIÓN

Estas funciones se usan para para dividir el número x en una fracción normalizada y un exponente que se guarda en exp.

VALOR DEVUELTO

These functions return the normalized fraction. If the argument x is not zero, the normalized fraction is x times a power of two, and its absolute value is always in the range 1/2 (inclusive) to 1 (exclusive), that is, [0.5,1).
Si x es cero, la fracción normalizada será cero y se guardara en exp.
If x is a NaN, a NaN is returned, and the value of *exp is unspecified.
If x is positive infinity (negative infinity), positive infinity (negative infinity) is returned, and the value of *exp is unspecified.

ERRORES

No suceden errores.

ATRIBUTOS

Para obtener una explicación de los términos usados en esta sección, véase attributes(7).
Interfaz Atributo Valor
frexp(), frexpf(), frexpl() Seguridad del hilo Multi-hilo seguro
 

ESTÁNDARES

C99, POSIX.1-2001, POSIX.1-2008.
The variant returning double also conforms to SVr4, 4.3BSD.

EJEMPLOS

The program below produces results such as the following:

$  ./a.out 2560
frexp(2560, &e) = 0.625: 0.625 * 2^12 = 2560
$  ./a.out -4
frexp(-4, &e) = -0.5: -0.5 * 2^3 = -4

Código fuente

#include <float.h>
#include <math.h>
#include <stdio.h>
#include <stdlib.h>
int main(int argc, char *argv[]) { double x, r; int exp;
x = strtod(argv[1], NULL); r = frexp(x, &exp);
printf("frexp(%g, &e) = %g: %g * %d^%d = %g\n", x, r, r, FLT_RADIX, exp, x); exit(EXIT_SUCCESS); }

VÉASE TAMBIÉN

ldexp(3), modf(3)

TRADUCCIÓN

La traducción al español de esta página del manual fue creada por Gerardo Aburruzaga García <[email protected]> y Marcos Fouces <[email protected]>
Esta traducción es documentación libre; lea la GNU General Public License Version 3 o posterior con respecto a las condiciones de copyright. No existe NINGUNA RESPONSABILIDAD.
Si encuentra algún error en la traducción de esta página del manual, envíe un correo electrónico a [email protected]

Recommended readings

Pages related to frexpl you should read also: