Поделиться через


ldexp

Умножает число с плавающей запятой на целую степень числа два.

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

Параметры

  • x
    Значение с плавающей запятой.

  • exp
    Целый показатель степени.

Возвращаемое значение

Функция ldexp возвращает значение x * 2exp в случае успешного выполнения. При переполнении и в зависимости от знака числа x функция ldexp возвращает +/- HUGE_VAL; для errno задается значение ERANGE.

Дополнительные сведения о макросе errno и возможных возвращаемых значениях ошибок см. в разделе errno, _doserrno, _sys_errlist, and _sys_nerr.

Заметки

Поскольку C++ допускает перегрузку, можно вызывать перегрузки ldexp, которые принимают типы float или long double. В программе на языке C ldexp всегда принимает значения double и int и возвращает double.

Требования

Подпрограмма

Заголовок C

Заголовок C++

ldexp, ldexpf, ldexpl

<math.h>

<cmath>

Сведения о совместимости см. в разделе Совместимость.

Пример

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

Вывод

4.0 times two to the power of 3 is 32.0

Эквивалент в .NET Framework

System::Math::Pow

См. также

Ссылки

Поддержка чисел с плавающей запятой

frexp

modf, modff