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


pow, , powfpowl

Вычисляет значение x, возведенное в степень y.

Синтаксис

double pow( double x, double y );
float powf( float x, float y );
long double powl( long double x, long double y );
define pow(X, Y) // Requires C11 or higher

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

Параметры

x
База.

y
Экспонента.

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

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

x Значения иy Возвращаемое значение pow
x != 0.0 и y == 0.0 1
x == 0.0 и y == 0.0 1
x == 0.0 и y< 0 INF

Замечания

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

Функция pow содержит реализацию, которая использует Streaming SIMD Extensions 2 (SSE2). Сведения и ограничения по использованию реализации SSE2 см. в разделе _set_SSE2_enable.

Так как C++ допускает перегрузку, можно вызывать любые перегрузки pow. В программе C, если макрос не используется <tgmath.h> для вызова этой функции, pow всегда принимает два double значения и возвращает double значение.

Если вы используете pow макрос из <tgmath.h>, тип аргумента определяет, какая версия функции выбрана. Дополнительные сведения см . в разделе "Математика с универсальным типом".

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

pow(T, int) Первоначально перегрузки откатили pow вызов в последовательность встроенных операций умножения. Хотя это было быстрее, это было также гораздо менее точно. Эта реализация была удалена в Visual Studio 2015 с обновлением 1. Дополнительные сведения см. в разделе "Улучшения соответствия" в Visual Studio 2015 с обновлением 1.

По умолчанию глобальное состояние этой функции ограничивается приложением. Чтобы изменить это поведение, см . статью "Глобальное состояние" в CRT.

Требования

Маршрут Обязательный заголовок (C) Обязательный заголовок (C++)
pow, , powfpowl <math.h> <math.h> или <cmath>
powМакрос <tgmath.h>

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

Пример

// 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 );
}
2.0 to the power of 3.0 is 8.0

См. также

Поддержка математических и плавающих точек
exp, , expfexpl
log, , logflog10log10f
sqrt, , sqrtfsqrtl
_CIpow