Condividi tramite


frexp

Ottiene la mantissa ed esponente di un numero a virgola mobile.

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

Parametri

  • x
    Valore a virgola mobile.

  • expptr
    Puntatore all'esponente Integer memorizzato.

Valore restituito

frexp restituisce la mantissa. Se x è 0, la funzione restituisce 0 sia per la mantissa che l'esponente. Se expptr è NULL, viene richiamato il gestore di parametro non valido, come descritto in Convalida dei parametri. Se l'esecuzione può continuare, la funzione imposta errno a EINVAL e restituisce 0 .

Note

La funzione di frexp suddivide il valore a virgola mobile (x) in una mantissa (m) e un esponente (n), in modo che il valore assoluto di m è maggiore o uguale a 0,5 e minore di 1,0 e x = m. *2.n L'esponente Integer n viene archiviato nella posizione indicata da expptr.

Il C++ consente l'overload, pertanto è possibile chiamare gli overload di frexp. In un programma C, frexp sempre accetta un valore double e un numero intero e restituisce un valore double.

Requisiti

Funzione

Intestazione obbligatoria

frexp

<math.h>

Per ulteriori informazioni sulla compatibilità, vedere Compatibilità nell'Introduzione.

Esempio

// 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 );
}
  

Equivalente .NET Framework

Non applicabile. Per chiamare la funzione standard C, utilizzare PInvoke. Per ulteriori informazioni, vedere Esempi di Invocazione della Piattaforma.

Vedere anche

Riferimenti

Supporto a virgola mobile

ldexp

modf, modff