Перейти к содержимому

Pow c что это

  • автор:

long double powl (long double base, long double exp)

Функция pow() возвращает значение base, возведенное в степень ехр, т. е. base exp . Переполнение вызывает ошибку области значений. Также может возникнуть ошибка области определения. Версия этой функции для данных типа long double называется powl().

Следующая программа выводит первые одиннадцать степеней числа 12 .
#include
#include
int main ( void )
{
double x = 12.0 , y = 0.0 ;
do {
printf ( «%f \n » , pow ( x , y ) ) ;
y ++;
} while ( y < 11 ) ;
return 0 ;
}

Pow – возведение числа в степени

Запись была обновлена

При успешном завершении, pow возвращает вычисленное значение, x^y.

Иногда, аргумент посылаемый pow вызывает в результате переполнение, или он вообще может быть не вычислимым. При переполнении, pow возвращает значение HUGE_VAL. При слишком большом значении, глобальной переменной errno присваивается значение:
ERANGE — Результат выходит за пределы.

Если аргумент x меньше или равен 0, и y не равен
0, то при этом errno присваивается значение:
EDOM — Ошибка области определения.
и функция возвращает значение обратное HUGE_VAL.

Если и x и y равны 0, то pow возвращает 1.
Обработку ошибок функции pow можно изменить с помощью функции matherr.

Переносимость

Вещественная версия pow доступна в системах UNIX и поддерживается стандартом ANSI C. Комплексная версия требует С++ и поэтому скорее всего непереносима.

Пример

#include #include int main(void)

pow , powf , powl

Вычисляет значение 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 . Сообщение об ошибке не выводится в случае переполнения или потери значимости.

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

Замечания

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

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

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

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

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

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

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

Требования

Маршрут Обязательный заголовок (C) Обязательный заголовок (C++)
pow , powf , powl или
pow Макрос

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

Пример

// crt_pow.c #include #include int main( void )
2.0 to the power of 3.0 is 8.0 

Функция pow

В C++, эта функция перегружена в заголовочных файлах и (смотреть pow комплексных чисел и pow в библиотеке массивов числовых значений).

В Си, определена только версия функции с типами данных её параметров, — double . Другие перегруженные версии этой функции есть только в C++.

Параметры:

  • basis
    Значение с плавающей точкой — основание.
  • exponent
    Значение с плавающей точкой — степень.

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

Возведение значения basis в степень exponent .

Если величина результата настолько велика, что она не может быть представлена в объекте возвращаемого типа, возникает ошибка области допустимых значений, и функция возвращает значение HUGE_VAL с соответствующим ему знаком и устанавливает значение макроса ERRNO в ERANGE значение.

Если basis отрицательное и exponent не целое значение, или если basis равна нулю, а exponent — отрицательное, возникает ошибка области допустимых значений, и выполняется установка глобальной переменной ERRNO в значение EDOM .

Пример: исходный код программы

// пример использования функции pow #include // для оператора cout #include // для функции pow int main()

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *