Язык c возведение в степень

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, то ошибки не будет:

Читайте также:  Just cause 3 вингсьют

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);

То будет ошибка, поэтому нужно конвертация в целое число.

Стандартная библиотека
языка программирования С
  • assert.h
  • complex.h (C99)
  • ctype.h
  • errno.h
  • fenv.h (C99)
  • float.h
  • inttypes.h (C99)
  • iso646.h
  • limits.h
  • locale.h
  • math.h
  • setjmp.h
  • signal.h
  • stdalign.h (C11)
  • stdarg.h
  • stdatomic.h (C11)
  • stdbool.h (C99)
  • stddef.h
  • stdint.h (C99)
  • stdio.h
  • stdlib.h
  • stdnoreturn.h (C11)
  • string.h
  • tgmath.h
  • threads.h (C11)
  • time.h
  • uchar.h (C11)
  • wchar.h
  • wctype.h

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(xy, 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.

Читайте также:  Iiyama prolite xub2790hs b1 отзывы
Имя Описание
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