Partager via


ldexp

Multiplie un nombre à virgule flottante par une puissance intégrale de deux.

double ldexp(    double x,    int exp  ); float ldexp(    float x,    int exp );  // C++ only long double ldexp(    long double x,    int exp );  // C++ only  float ldexpf(    float x,    int exp );  long double ldexpl(    long double x,    int exp ); 

Paramètres

  • x
    Valeur à virgule flottante.

  • exp
    Exposant entier.

Valeur de retour

La fonction ldexp retourne la valeur x * 2exp en cas de succès. En cas de dépassement et selon le signe de x, ldexp retourne +/– HUGE_VAL ; errno a la valeur ERANGE.

Pour plus d'informations sur errno et sur les valeurs de retour d'erreur possibles, voir errno, _doserrno, _sys_errlist et _sys_nerr.

Notes

C++ autorisant la surcharge, vous pouvez appeler des surcharges de ldexp qui acceptent des types float ou long double. Dans un programme C, ldexp accepte toujours double et int, et retourne double.

Configuration requise

Routine

En-tête C

En-tête C++

ldexp, ldexpf, ldexpl

<math.h>

<cmath>

Pour plus d'informations sur la compatibilité, voir Compatibilité.

Exemple

// crt_ldexp.c

#include <math.h>
#include <stdio.h>

int main( void )
{
   double x = 4.0, y;
   int p = 3;

   y = ldexp( x, p );
   printf( "%2.1f times two to the power of %d is %2.1f\n", x, p, y );
}

Sortie

4.0 times two to the power of 3 is 32.0

Équivalent .NET Framework

System::Math::Pow

Voir aussi

Référence

Prise en charge de la virgule flottante

frexp

modf, modff