Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Вычисляет значение 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 later
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