View Categories

Математические функции

math.h #

Константы #

Константа Смысл Значение
M_E e 2.71828182845904523536
M_LOG2E log2(e) 1.44269504088896340736
M_LOG10E log10(e) 0.434294481903251827651
M_LN2 ln(2) 0.693147180559945309417
M_LN10 ln(10) 2.30258509299404568402
M_PI pi 3.14159265358979323846
M_PI_2 pi/2 1.57079632679489661923
M_PI_4 pi/4 0.785398163397448309616
M_1_PI 1/pi 0.318309886183790671538
M_2_PI 2/pi 0.636619772367581343076
M_2_SQRTPI 2/sqrt(pi) 1.12837916709551257390
M_SQRT2 sqrt(2) 1.41421356237309504880
M_SQRT1_2 1/sqrt(2) 0.707106781186547524401

Тригонометрия #

cos #

double cos(double a)
float cosf(float a)
Вычислить косинус угла в радианах

sin #

double sin(double a)
float sinf(float a)
Вычислить синус угла в радианах

tan #

double tan(double a)
float tanf(float a)
Вычислить тангенс угла в радианах

acos #

double acos(double x)
float acosf(float x)
Вычислить арккосинус, результат в радианах

asin #

double asin(double x)
float asinf(float x)
Вычислить арксинус, результат в радианах

atan #

double atan(double x)
float atanf(float x)
Вычислить арктангенс, результат в радианах

atan2 #

double atan2(double y, double x)
float atan2f(float y, float x)
Вычислить арктангенс y/x - угла, образованного началом координат и точкой (x, y), результат в радианах.

cosh #

double cosh(double a)
float coshf(float a)
Вычислить гиперболический косинус угла в радианах

sinh #

double sinh(double a)
float sinhf(float a)
Вычислить гиперболический синус угла в радианах

tanh #

double tanh(double a)
float tanhf(float a)
Вычислить гиперболический тангенс угла в радианах

acosh #

double acosh(double x)
float acoshf(float x)
Вычислить гиперболический арккосинус, результат в радианах

asinh #

double asinh(double x)
float asinhf(float x)
Вычислить гиперболический арксинус, результат в радианах

atanh #

double atanh(double x)
float atanhf(float x)
Вычислить гиперболический арктангенс, результат в радианах.

Экспонента #

exp #

double exp(double x)
float expf(float x)
Вычислить экспоненту x, т.е. e^x

expm1 #

double expm1(double x)
float expm1f(float x)
Вычислить (e^x) - 1

exp2 #

double exp2(double x)
float exp2f(float x)
Вычислить 2^x

Логарифм #

log #

double log(double x)
float logf(float x)
Вычислить логарифм по основанию e (натуральный)

log2 #

double log2(double x)
float log2f(float x)
Вычислить логарифм по основанию 2

log10 #

double log10(double x)
float log10f(float x)
Вычислить логарифм по основанию 10

log1p #

double log1p(double x)
float log1pf(float x)
Вычислить натуральный логарифм (x + 1) log(x + 1)

Степень #

pow #

double pow(double base, double exp)
float powf(float base, float exp)
Вычислить base^exp (возвести в степень)

sqrt #

double sqrt(double x)
float sqrtf(float x)
Вычислить квадратный корень

cbrt #

double cbrt(double x)
float cbrtf(float x)
Вычислить кубический корень

hypot #

double hypot(double x, double y)
float hypotf(float x, float y)
Вычислить гипотенузу sqrt(x * x + y * y)

stdlib.h #

Случайные числа #

rand #

int rand()
Возвращает псевдослучайное число от 0 до RAND_MAX

srand #

void srand(unsigned int seed)
Установить начальное значение для генератора rand()

Деление и остаток #

div_t, ldiv_t, lldiv_t #

struct div_t { int quot, rem; }
struct ldiv_t { long quot, rem; }
struct lldiv_t { long long quot, rem; }
Структура для хранения результата деления: quot - частное, rem - остаток

div, ldiv, lldiv #

div_t div(int x, int y)
ldiv_t ldiv(long int x, long int y)
lldiv_t lldiv(long long int x, long long int y)
Выполнить деление x / y и вернуть в виде структуры, в которой хранится частное и остаток. Часто бывает нужно выполнить эти действия с одним числом, через функцию получается в два раза быстрее, чем делить на две операции:

div_t res = div(379, 15);
// res.quot == 25
// res.rem == 4

ldiv_t lres = ldiv(1234567, 54321);
// lres.quot == 22
// lres.rem == 39505
0 0 голоса
Рейтинг статьи
Подписаться
Уведомить о
guest

0 комментариев
Старые
Новые Популярные
Межтекстовые Отзывы
Посмотреть все комментарии
Прокрутить вверх