frexp

 

Para obtener la documentación más reciente de Visual Studio 2017 RC, consulte Documentación de Visual Studio 2017 RC.

Obtiene la mantisa y el exponente de un número de punto flotante.

double frexp(  
   double x,  
   int *expptr   
);  
float frexp(  
   float x,  
   int * expptr  
);  // C++ only  
long double frexp(  
   long double x,  
   int * expptr  
);  // C++ only  

Parámetros

x
Valor de punto flotante.

expptr
Puntero al exponente de entero almacenado.

frexpDevuelve la mantisa. Si x es 0, la función devuelve 0 para la mantisa y el exponente. Si expptr es NULL, se invoca el controlador de parámetros no válidos, como se describe en validación del parámetro. Si la ejecución puede continuar, esta función establece errno en EINVAL y devuelve 0.

El frexp función divide el valor de punto flotante (x) en una mantisa (m) y un exponente (n), de modo que el valor absoluto de m es mayor o igual a 0,5 y menor que 1,0, y x = m* 2n. El exponente de entero n se almacena en la ubicación señalada por expptr.

C++ permite las sobrecargas, puede llamar a las sobrecargas de frexp. En un programa de C, frexp siempre toma un valor doble y un entero y devuelve un valor double.

FunciónEncabezado necesario
frexp<math.h>

Para obtener información adicional de compatibilidad, vea Compatibilidad en la Introducción.

// crt_frexp.c  
// This program calculates frexp( 16.4, &n )  
// then displays y and n.  
  
#include <math.h>  
#include <stdio.h>  
  
int main( void )  
{  
   double x, y;  
   int n;  
  
   x = 16.4;  
   y = frexp( x, &n );  
   printf( "frexp( %f, &n ) = %f, n = %d\n", x, y, n );  
}  

frexp( 16.400000, &n ) = 0.512500, n = 5  

No es aplicable. Para llamar a la función estándar de C, use PInvoke. Para obtener más información, vea Ejemplos de invocación de plataforma.

Compatibilidad de punto flotante
ldexp
modf, modff, modfl

Mostrar: