Функция 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()
Math. Pow(Double, Double) Метод
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Возвращает указанное число, возведенное в указанную степень.
public: static double Pow(double x, double y);
public static double Pow (double x, double y);
static member Pow : double * double -> double
Public Shared Function Pow (x As Double, y As Double) As Double
Параметры
Число двойной точности с плавающей запятой, возводимое в степень.
Число двойной точности с плавающей запятой, задающее степень.
Возвращаемое значение
Число x , возведенное в степень y .
Примеры
В следующем примере метод используется Pow для вычисления значения, которое возникает при повышении значения 2 в степень в диапазоне от 0 до 32.
int value = 2; for (int power = 0; power ^ = <(long)Math.Pow(value, power):N0>(0x<(long)Math.Pow(value, power):X>)"); // The example displays the following output: // 2^0 = 1 (0x1) // 2^1 = 2 (0x2) // 2^2 = 4 (0x4) // 2^3 = 8 (0x8) // 2^4 = 16 (0x10) // 2^5 = 32 (0x20) // 2^6 = 64 (0x40) // 2^7 = 128 (0x80) // 2^8 = 256 (0x100) // 2^9 = 512 (0x200) // 2^10 = 1,024 (0x400) // 2^11 = 2,048 (0x800) // 2^12 = 4,096 (0x1000) // 2^13 = 8,192 (0x2000) // 2^14 = 16,384 (0x4000) // 2^15 = 32,768 (0x8000) // 2^16 = 65,536 (0x10000) // 2^17 = 131,072 (0x20000) // 2^18 = 262,144 (0x40000) // 2^19 = 524,288 (0x80000) // 2^20 = 1,048,576 (0x100000) // 2^21 = 2,097,152 (0x200000) // 2^22 = 4,194,304 (0x400000) // 2^23 = 8,388,608 (0x800000) // 2^24 = 16,777,216 (0x1000000) // 2^25 = 33,554,432 (0x2000000) // 2^26 = 67,108,864 (0x4000000) // 2^27 = 134,217,728 (0x8000000) // 2^28 = 268,435,456 (0x10000000) // 2^29 = 536,870,912 (0x20000000) // 2^30 = 1,073,741,824 (0x40000000) // 2^31 = 2,147,483,648 (0x80000000) // 2^32 = 4,294,967,296 (0x100000000)
open System let value = 2 for power = 0 to 32 do printfn $"^ = int64:N0> (0x int64:X>)" // The example displays the following output: // 2^0 = 1 (0x1) // 2^1 = 2 (0x2) // 2^2 = 4 (0x4) // 2^3 = 8 (0x8) // 2^4 = 16 (0x10) // 2^5 = 32 (0x20) // 2^6 = 64 (0x40) // 2^7 = 128 (0x80) // 2^8 = 256 (0x100) // 2^9 = 512 (0x200) // 2^10 = 1,024 (0x400) // 2^11 = 2,048 (0x800) // 2^12 = 4,096 (0x1000) // 2^13 = 8,192 (0x2000) // 2^14 = 16,384 (0x4000) // 2^15 = 32,768 (0x8000) // 2^16 = 65,536 (0x10000) // 2^17 = 131,072 (0x20000) // 2^18 = 262,144 (0x40000) // 2^19 = 524,288 (0x80000) // 2^20 = 1,048,576 (0x100000) // 2^21 = 2,097,152 (0x200000) // 2^22 = 4,194,304 (0x400000) // 2^23 = 8,388,608 (0x800000) // 2^24 = 16,777,216 (0x1000000) // 2^25 = 33,554,432 (0x2000000) // 2^26 = 67,108,864 (0x4000000) // 2^27 = 134,217,728 (0x8000000) // 2^28 = 268,435,456 (0x10000000) // 2^29 = 536,870,912 (0x20000000) // 2^30 = 1,073,741,824 (0x40000000) // 2^31 = 2,147,483,648 (0x80000000) // 2^32 = 4,294,967,296 (0x100000000)
Public Module Example Public Sub Main Dim value As Integer = 2 For power As Integer = 0 To 32 Console.WriteLine("^ = (0x)", _ value, power, CLng(Math.Pow(value, power))) Next End Sub End Module ' The example displays the following output: ' 2^0 = 1 (0x1) ' 2^1 = 2 (0x2) ' 2^2 = 4 (0x4) ' 2^3 = 8 (0x8) ' 2^4 = 16 (0x10) ' 2^5 = 32 (0x20) ' 2^6 = 64 (0x40) ' 2^7 = 128 (0x80) ' 2^8 = 256 (0x100) ' 2^9 = 512 (0x200) ' 2^10 = 1,024 (0x400) ' 2^11 = 2,048 (0x800) ' 2^12 = 4,096 (0x1000) ' 2^13 = 8,192 (0x2000) ' 2^14 = 16,384 (0x4000) ' 2^15 = 32,768 (0x8000) ' 2^16 = 65,536 (0x10000) ' 2^17 = 131,072 (0x20000) ' 2^18 = 262,144 (0x40000) ' 2^19 = 524,288 (0x80000) ' 2^20 = 1,048,576 (0x100000) ' 2^21 = 2,097,152 (0x200000) ' 2^22 = 4,194,304 (0x400000) ' 2^23 = 8,388,608 (0x800000) ' 2^24 = 16,777,216 (0x1000000) ' 2^25 = 33,554,432 (0x2000000) ' 2^26 = 67,108,864 (0x4000000) ' 2^27 = 134,217,728 (0x8000000) ' 2^28 = 268,435,456 (0x10000000) ' 2^29 = 536,870,912 (0x20000000) ' 2^30 = 1,073,741,824 (0x40000000) ' 2^31 = 2,147,483,648 (0x80000000) ' 2^32 = 4,294,967,296 (0x100000000)
Комментарии
В следующей таблице указано возвращаемое значение, если для параметров и y заданы различные значения или диапазоны значений x . Дополнительные сведения см. в разделах Double.PositiveInfinity, Double.NegativeInfinity и Double.NaN.
| x | y | Возвращаемое значение |
|---|---|---|
| NaN | Любое значение, кроме 0 | NaN |
| NaN | 0 | 1 ( NaN на платформа .NET Framework) |
| Любое значение, кроме NaN | 0 | 1 |
| 1 | Любое значение, кроме NaN | 1 |
| 1 | NaN | 1 ( NaN на платформа .NET Framework) |
| Любое значение, кроме 1 | NaN | NaN |
| NegativeInfinity | < 0 | 0 |
| NegativeInfinity | Положительное нечетное целое число | NegativeInfinity |
| NegativeInfinity | Положительное, но нечетное целое число | PositiveInfinity |
| < 0, но не NegativeInfinity | Не целое число, NegativeInfinity или PositiveInfinity | NaN |
| -1 | = NegativeInfinity Или PositiveInfinity | NaN |
| -1 < x < 1 | NegativeInfinity | PositiveInfinity |
| -1 < x < 1 | PositiveInfinity | 0 |
| < -1 или >1 | NegativeInfinity | 0 |
| < -1 или >1 | PositiveInfinity | PositiveInfinity |
| 0 | < 0 | PositiveInfinity |
| 0 | > 0 | 0 |
| PositiveInfinity | < 0 | 0 |
| PositiveInfinity | > 0 | PositiveInfinity |
Этот метод вызывает базовую среду выполнения 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 ;
}
Math.pow()
Метод Math.pow() возвращает основание , возведённое в степень показатель , то есть, значение выражения: основание показатель .
Синтаксис
Math.pow(base, exponent)
Параметры
Показатель степени, в которую возводится основание base .
Описание
Поскольку метод pow() является статическим методом объекта Math , вы всегда должны использовать его как Math.pow() , а не пытаться вызывать метод на созданном экземпляре объекта Math (поскольку объект Math не является конструктором).
Примеры
Пример: использование метода Math.pow()
.pow(7, 2); // 49