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


pow, powf, powl

Вычисляет x в степени y.

double pow(
   double x,
   double y 
);
double pow(
   double x,
   int y
);  // C++ only
float pow(
   float x,
   float y 
);  // C++ only
float pow(
   float x,
   int y
);  // C++ only
long double pow(
   long double x,
   long double y
);  // C++ only
long double pow(
   long double x,
   int y
);  // C++ only
float powf(
   float x,
   float y 
);
long double powl(
   long double x,
   long double y
);

Параметры

  • x
    Основание.

  • y
    Показатель степени.

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

Возвращает значение xy. При переполнении или потере значимости не выводится сообщения об ошибке.

Значения x и y

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

x < > 0 и y = 0.0

1

x = 0.0 и y = 0.0

1

x = 0.0 и y < 0

INF

Заметки

pow не распознает целочисленные значения с плавающей точкой больше 264 (например, 1.0E100).

pow имеет реализацию, которая использует набор инструкций SSE2. Дополнительные сведения и ограничения по использованию реализации с SSE2 см. в разделе _set_SSE2_enable.

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

Перегрузка pow(int, int) больше недоступна. Если используется эта перегрузка, компилятор может выдать C2668. Чтобы избежать этой проблемы, преобразуйте первый параметр в double, float или long double.

Требования

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

Обязательный заголовок

pow, powf, powl

<math.h>

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

Библиотеки

Все версии библиотек времени выполнения C.

Пример

// crt_pow.c

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

int main( void )
{
   double x = 2.0, y = 3.0, z;

   z = pow( x, y );
   printf( "%.1f to the power of %.1f is %.1f\n", x, y, z );
}

Output

2.0 to the power of 3.0 is 8.0

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

System::Math::Pow

См. также

Ссылки

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

exp, expf

log, logf, log10, log10f

sqrt, sqrtf, sqrtl

_CIpow