math.h
Заголовні файли C |
---|
math.h — заголовний файл стандартної бібліотеки мови програмування С, який надає прототипи функцій, розроблених для виконання простих математичних операцій. Більшість функцій використовує числа з рухомою комою. C++ також реалізовує дані функції для забезпечення сумісності, усі вони містяться у заголовному файлі cmath
.
Усі функції, котрі приймають або повертають значення кута, працюють з радіанами.
В C99 більшість функцій має кілька варіантів залежно від типу, наприклад:
float cosf(float x);
double cos(double x);
long double cosl(long double x);
Всі ці функції обчислюють косинус, але з різними типами чисел з рухомою комою. Функції, що закінчуються на f, працюють з float, на l — з long double.
Також у C99 додана стандартна бібліотека tgmath.h, що містить узагальнені макроси, що мають такі самі назви, що й функція для double, і підставляють потрібну функцію залежно від типу.
В C++ ці функції перевантажені для різних типів. Також існують перевантаження цих функцій в бібліотеках complex.h та valarray для відповідних типів.[1]
Ім'я | Опис |
---|---|
double acos(double x) |
арккосинус. Якщо параметр не в інтервалі [-1..+1], виникає помилка |
double asin(double x) |
арксинус. Якщо параметр не в інтервалі [-1..+1], виникає помилка |
double atan(double x) |
арктангенс |
double atan2(double y, double x) |
арктангенс частки від ділення двох аргументів y та x. Якщо обидва параметри дорівнюють 0, виникає помилка. На відміну від atan, може обчислити значення кута (для якого значення тангенса буде нескінченим). Зручна для обчислення кута за координатами. |
double cos(double x) |
косинус |
double sin(double x) |
синус |
double tan(double x) |
тангенс |
Ім'я | Стандарт | Опис |
---|---|---|
double cosh(double x) |
C89, C++98 | гіперболічний косинус |
double sinh(double x) |
C89, C++98 | гіперболічний синус |
double tanh(double x) |
C89, C++98 | гіперболічний тангенс |
double acosh(double x) |
C99, C++11 | гіперболічний арккосинус |
double asinh(double x) |
C99, C++11 | гіперболічний арксинус |
double atanh(double x) |
C99, C++11 | гіперболічний арктангенс |
Ім'я | Стандарт | Опис |
---|---|---|
double exp(double x) |
C89, C++98 | Показникова функція з основою () |
double ldexp(double x, int exp) |
C89, C++98 | Обчислення числа з рухомою комою з мантиси та порядку, повертає |
double exp2(double x) |
C99, C++11 | Показникова функція з основою () |
double expm1(double x) |
C99, C++11 | Показникова функція з основою мінус 1 () |
double scalbn(double x, int exp) |
C99, C++11 | Обчислення числа з рухомою комою з мантиси та порядку для основи FLT_RADIX (float.h), повертає FLT_RADIX; зазвичай еквівалент ldexp. |
double scalbln(double x, long int exp) |
C99, C++11 | Те саме, що й scalbn, з порядком типу long int. |
Ім'я | Стандарт | Опис |
---|---|---|
double log(double x) |
C89, C++98 | Натуральний логарифм x |
double log10(double x) |
C89, C++98 | Логарифм за основою 10 від x |
double frexp(double x, int* exp) |
C89, C++98 | Розкладає число x на мантису з проміжку [0.5,1) та двійковий порядок, який записує за адресою exp. |
double log2(double x) |
C99, C++11 | Логарифм за основою 2 від x |
double logb(double x) |
C99, C++11 | Логарифм за основою FLT_RADIX (зазвичай 2) від x |
double log1p(double x) |
C99, C++11 | Натуральний логарифм від x+1 |
int ilogb(double x) |
C99, C++11 | Ціла частина логарифму за основою FLT_RADIX |
Ім'я | Опис |
---|---|
ceil |
округлення до найближчого більшого цілого числа |
fabs |
абсолютне значення |
floor |
округлення до найближчого меншого цілого числа |
fmod |
повертає залишок від ділення двох чисел |
modf (x, p) |
повертає цілу та дробову частину аргументу х зі знаком |
pow(x,y) |
вираховує значення xy |
sqrt |
квадратний корінь |
Ім'я | Опис |
---|---|
NAN |
Не-число (not-a-number), особливе значення, що позначає результат помилкової операції |
HUGE_VAL |
Особливе значення, що позначає, що результат надто великий для представлення обраним типом числа з рухомою комою |
INFINITY (С++11) |
Нескінченість, особливе значення, що позначає нескінчений результат |
HUGE_VALF (С++11) |
Аналог HUGE_VAL типу float |
HUGE_VALL (С++11) |
Аналог HUGE_VAL типу long double |
Стандарт POSIX вимагає визначення деяких додаткових констант[2], що починаються з M_. В gcc ці константи можна увімкнути ключем компіляції -std=gnu11 (gnu14, gnu17 і т. д.), у Visual Studio — визначенням макроса _USE_MATH_DEFINES перед включенням бібліотеки:
#define _USE_MATH_DEFINES
#include <cmath>
Ім'я | Опис |
---|---|
M_E |
Основа натуральних логарифмів |
M_LOG2E |
Логарифм за основою 2 () |
M_LOG10E |
Логарифм за основою 10 () |
M_LN2 |
Натуральний логарифм |
M_LN10 |
Натуральний логарифм |
M_PI |
Число |
M_PI_2 |
|
M_PI_4 |
|
M_1_PI |
|
M_2_PI |
|
M_SQRTPI |
Квадратний корінь з |
M_SQRT2 |
Квадратний корінь з |
M_SQRT1_2 |
Квадратний корінь з |
Це незавершена стаття про програмування. Ви можете допомогти проєкту, виправивши або дописавши її. |
- ↑ | Опис функції cos(англ.). Архів оригіналу за 20 вересня 2019. Процитовано 19 вересня 2019.
- ↑ [| math.h у стандарті POSIX[[англійська мова|англ.]] (англ.). Архів оригіналу за 17 вересня 2019. Процитовано 20 вересня 2019.
{{cite web}}
: Назва URL містить вбудоване вікіпосилання (довідка) | math.h у стандарті POSIXангл. (англ.)]