Compartilhar via


ldexp

Multiplica um número de ponto flutuante por uma potência integral de dois.

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

Parâmetros

  • x
    Valor de ponto flutuante.

  • exp
    Expoente inteiro.

Valor de retorno

A função ldexp retorna o valor de x * 2exp em caso de êxito. No estouro (dependendo do sinal de x), ldexp, retorna +/– HUGE_VAL. O valor errno é definido para ERANGE.

Para obter mais informações sobre errno e possíveis valores de retorno de erro, consulte errno, _doserrno, _sys_errlist e _sys_nerr.

Comentários

Como C++ permite a sobrecarga, você pode chamar sobrecargas de ldexp que usam o tipo float ou long double. Em um programa C, ldexp sempre utiliza um double e um int, além de retornar um double.

Requisitos

Rotina

Cabeçalho C

Cabeçalho C++

ldexp, ldexpf, ldexpl

<math.h>

<cmath>

Para obter informações sobre compatibilidade, consulte Compatibilidade.

Exemplo

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

Saída

4.0 times two to the power of 3 is 32.0

Equivalência do .NET Framework

System::Math::Pow

Consulte também

Referência

Suporte de ponto flutuante

frexp

modf, modff