math.h
| Стандартная библиотека языка программирования С |
math.h — заголовочный файл стандартной библиотеки языка программирования С, разработанный для выполнения простых математических операций. Большинство функций привлекают использование чисел с плавающей точкой. C++ также реализует данные функции для обеспечения совместимости, все они содержатся в заголовочном файле cmath.
Все эти функции принимают double, если не определено иначе. Для работы с типами float и long double используются функции с постфиксами f и l соответственно. Все функции, принимающие или возвращающие угол, работают с радианами.
Содержание |
Базовые функции[править]
| Имя | Описание |
|---|---|
abs |
Возвращает абсолютную величину числа |
acos |
арккосинус |
asin |
арксинус |
atan |
арктангенс |
atan2 |
арктангенс с двумя параметрами |
ceil |
округление до ближайшего большего целого числа |
cos |
косинус |
cosh |
гиперболический косинус |
exp |
вычисление экспоненты |
fabs |
абсолютная величина (числа с плавающей точкой) |
floor |
округление до ближайшего меньшего целого числа |
fmod |
вычисление остатка от деления нацело для чисел с плавающей точкой |
frexp |
разбивает число с плавающей точкой на мантиссу и показатель степени. |
ldexp |
умножение числа с плавающей точкой на целую степень двух |
log |
натуральный логарифм |
log10 |
логарифм по основанию 10 |
modf(x,p) |
извлекает целую и дробную части (с учетом знака) из числа с плавающей точкой |
pow(x,y) |
результат возведения x в степень y, xy |
sin |
синус |
sinh |
гиперболический синус |
sqrt |
квадратный корень |
tan |
тангенс |
tanh |
гиперболический тангенс |
Функции стандарта C99[править]
| Имя | Описание |
|---|---|
acosh |
гиперболический арккосинус |
asinh |
гиперболический арксинус |
atanh |
гиперболический арктангенс |
cbrt |
кубический корень |
copysign(x,y) |
возвращает величину, абсолютное значение которой равно x, но знак которой соответствует знаку y |
erf |
функция ошибок |
erfc |
Дополнительная функция ошибок |
exp2(x) |
значение числа 2, возведённого в степень x, 2x |
expm1(x) |
значение функции ex − 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_RADIXn (n is long) |
scalbn(x,n) |
x * FLT_RADIXn (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_RADIXy (x и y типа double) |
y0(x) |
значение функций Бесселя второго рода порядков 0 для аргумента x |
y1(x) |
значение функций Бесселя второго рода порядков 1 для аргумента x |
yn(n,x) |
значение функций Бесселя второго рода порядка n |
Использование функций конвертации double-string ecvt, fcvt и gcvt не рекомендуется в пользу sprintf.
Ссылки[править]
math.h— основные определения, The Single UNIX® Specification, выпуск 7 от The Open Group (англ.)- Справка по функциям math.h