Содержание:
All | _ | A | B | C | D | E | F | G | H | I | J | K | L | M | N | O | P | Q | R | S | T | U | V | W | X | Y | Z
pow, powf, powl – возведение в степень.
double pow (double x, double y);
float powf (float x, float y);
long double powl (long double x, long double y);
x – переменная, которую нужно возвести в степень y.
Аргумент x, возведенный в степень y (x y ).
Функции возводит аргумент x в степень y.
При этом аргументы и возвращаемое значение функции pow задаются числами с плавающей точкой двойной точности (тип double, точность не менее десяти значащих десятичных цифр, разрядность — 64).
Аргументы и возвращаемое значение функции powf задаются числами с плавающей точкой (тип float, точность не менее шести значащих десятичных цифр, разрядность — 32).
Аргументы и возвращаемое значение функции powl задаются числами с плавающей точкой повышенной точности (тип long double, точность не менее десяти значащих десятичных цифр, разрядность — 80).
В примере число 2.6 возводится в степень 3.45 с помощью функций pow, powf и powl, и результат выводится на консоль. Обратите внимание на точность полученных результатов. При возведении в степень с помощью функции powf, будет самая маленькая точность, а с помощью функции powl – самая большая.
Аргументы: 2.6 и 3.45
powf : 27.01829910278320312500
pow : 27.01830192235679106716
powl : 27.01830192235679218432
Для того, чтобы возвести в степень, нужно вызвать метод Pow, который находится в статическом классе, поэтому необходимо:
Math .Pow(x, stepen);
Обратите внимание, что метод принимает значения типа double, если мы объявим тип int, то ошибки не будет:
int x = 5;
int stepen = 4;
Console .WriteLine( "5^4 = " + Math .Pow(x, stepen));
Если вам нужно получить целое число степени, то можете сделать так:
int i = Convert .ToInt32( Math .Pow(5, 3));
Если мы напишем:
int i = Math .Pow(5, 3);
То будет ошибка, поэтому нужно конвертация в целое число.
Стандартная библиотека языка программирования С |
|
math.h — заголовочный файл стандартной библиотеки языка программирования С, разработанный для выполнения простых математических операций. Большинство функций привлекают использование чисел с плавающей точкой. C++ также реализует данные функции для обеспечения совместимости, все они содержатся в заголовочном файле cmath.
Все эти функции принимают double , если не определено иначе. Для работы с типами float и long double используются функции с постфиксами f и l соответственно. Все функции, принимающие или возвращающие угол, работают с радианами.
Содержание
Базовые функции [ править | править код ]
Имя | Описание |
---|---|
abs | Возвращает абсолютную величину целого числа |
acos | арккосинус |
asin | арксинус |
atan | арктангенс |
atan2 | арктангенс с двумя параметрами |
ceil | округление до ближайшего большего целого числа |
cos | косинус |
exp | вычисление экспоненты |
fabs | абсолютная величина (числа с плавающей точкой) |
floor | округление до ближайшего меньшего целого числа |
fmod | вычисление остатка от деления нацело для чисел с плавающей точкой |
frexp | разбивает число с плавающей точкой на мантиссу и показатель степени. |
ldexp | умножение числа с плавающей точкой на целую степень двух |
log | натуральный логарифм |
log10 | логарифм по основанию 10 |
modf(x,p) | извлекает целую и дробную части (с учетом знака) из числа с плавающей точкой |
pow(x,y) | результат возведения x в степень y, x y |
sin | синус |
sinh | гиперболический синус |
cosh | гиперболический косинус |
sqrt | квадратный корень |
tan | тангенс |
tanh | гиперболический тангенс |
Функции стандарта C++ [ править | править код ]
Имя | Описание |
---|---|
acosh | гиперболический ареакосинус |
asinh | гиперболический ареасинус |
atanh | гиперболический ареатангенс |
cbrt | кубический корень |
copysign(x,y) | возвращает величину, абсолютное значение которой равно x , но знак которой соответствует знаку y |
erf | функция ошибок |
erfc | дополнительная функция ошибок |
exp2(x) | значение числа 2, возведённого в степень x , 2 x |
expm1(x) | значение функции e x − 1 |
fdim(x,y) | вычисление положительной разницы между x и y , fmax(x−y, 0) |
fma(x,y,z) | значение функции (x * y) + z (см. FMA) |
fmax(x,y) | наибольшее значение среди x и y |
fmin(x,y) | наименьшее значение среди x и y |
hypot(x,y) | гипотенуза, sqrt(x² + y²) |
ilogb | экспонента числа с плавающей точкой, конвертированная в int |
lgamma | натуральный логарифм абсолютного значения гамма-функции |
llrint | округление до ближайшего целого (возвращает long long ) |
lrint | округление до ближайшего целого (возвращает long ) |
llround | округление до ближайшего целого в направлении от нуля (возвращает long long ) |
lround | округление до ближайшего целого в направлении от нуля (возвращает long ) |
log1p(x) | натуральный логарифм 1 + x |
log2 | логарифм по основанию 2 |
logb | целочисленная часть логарифма x по основанию 2 |
nan(s) | возвращает нечисловое значение ‘Not a Number’ |
nearbyint | округление аргумента до целого значения в формате числа с плавающей точкой |
nextafter(x,y) | следующий ближайшее представимое для x (по направлению к y) |
nexttoward(x,y) | то же, что и nextafter , но y имеет тип long double |
remainder(x,y) | вычисляет остаток от деления согласно стандарту IEC 60559 |
remquo(x,y,p) | то же, что и remainder , но сохраняет коэффициент по указателю p (как int ) |
rint | округление до целого (возвращает int ) с вызовом ошибки inexact , если результат отличается от аргумента. |
round | округление до целого (возвращает double ) |
scalbln(x,n) | x * FLT_RADIX n (n is long ) |
scalbn(x,n) | x * FLT_RADIX n (n is int ) |
tgamma | гамма-функция |
trunc | отбрасывание дробной части |
Расширения XSI [ править | править код ]
Эти функции не описаны в стандартах ANSI или ISO C, но могут присутствовать в системах в качестве расширений X/Open.
Имя | Описание |
---|---|
j0(x) | значение функций Бесселя первого рода порядков 0 для аргумента x |
j1(x) | значение функций Бесселя первого рода порядков 1 для аргумента x |
jn(n,x) | значение функций Бесселя первого рода порядка n |
scalb(x,y) | x * FLT_RADIX y (x и y типа double ) |
y0(x) | значение функций Бесселя второго рода порядков 0 для аргумента x |
y1(x) | значение функций Бесселя второго рода порядков 1 для аргумента x |
yn(n,x) | значение функций Бесселя второго рода порядка n |
Использование функций конвертации double -string ecvt , fcvt и gcvt не рекомендуется в пользу sprintf .
libm [ править | править код ]
Под Linux и FreeBSD математические функции (объявленные в math.h ) хранятся отдельно в математической библиотеке libm . Таким образом, если любая из этих инструкций используется, при сборке компоновщику должна быть передана опция -lm .
Существует несколько реализаций libm , включая:
- GNU libc’s libm
- Sun’s FDLIBM, которая была использована как основа для FreeBSD’s msun, которая, в свою очередь, является основой Julia’s OpenLibm
- Arénaire project’s CRlibm (Correctly Rounded mathematical library)
- AMD’s libm