Оглавление
math.h #
Округление #
trunc #
double trunc(double x)float truncf(float x)
Отбросить дробную часть
ceil #
double ceil(double x)float ceilf(float x)
Округлить вверх
floor #
double floor(double x)float floorf(float x)
Округлить вниз
round, lround, llround #
double round(double x),float roundf(float x)long lround(double x), long lroundf(float x)long long llround(double x), long long llroundf(float x)
Математическое округление
Деление и остаток #
fmod #
double fmod(double x, double y)float fmodf(float x, float y)
Вычислить остаток от деления
x/y, который вернётся как f: x = q * y + f, где q = x / y с отбрасыванием остаткаremainder #
double remainder(double x, double y)float remainderf(float x, float y)
Вычислить остаток от деления
x/y, который вернётся как f: x = q * y + f, где q = x / y с округлением остаткаremquo #
double remquo(double x, double y, int* quot)float remquof(float x, float y, int* quot)
Как
remainder, но записывает q в quotFloat #
frexp #
double frexp(double x, int* exp)float frexpf(float x, int* exp)
Разбить число
x на основание (0.5.. 1) и экспоненту: x = s * 2^e, где e запишется в exp, а s вернётся из функцииldexp #
double ldexp(double x, int exp)float ldexpf(float x, int exp)
"Собрать" число с плавающей точкой, вернёт
x * 2^expmodf #
double modf(double x, double* intpart)float modff(float x, float* intpart)
Разбить
x на целую и дробную части: целая запишется в intpart, дробная вернётся из функцииВычисления #
copysign #
double copysign(double x, double y)float copysignf(float x, float y)
Вернёт значение величиной
x со знаком числа yfdim #
double fdim(double x, double y)float fdimf(float x, float y)
Вернёт разность
x - y, если x > y, иначе 0fmax #
double fmax(double x, double y)float fmaxf(float x, float y)
Вернёт большее из чисел
x и yfmin #
double fmin(double x, double y)float fminf(float x, float y)
Вернёт меньшее из чисел
x и yfabs, abs #
double fabs(double x), float fabsf(float x), abs(double/float x)
Вычислить модуль числа
fma #
double fma(double x, double y, double z)float fmaf(float x, float y, float z)
Вычислить
x * y + zСтатус #
INFINITY #
INFINITY
Константа "бесконечно большое число", можно присвоить к
float числу. Сравнить с числом нельзя, используй функцию isinf(x)NAN #
NAN
Константа "ошибка числа", можно присвоить к
float числу. Сравнить с числом нельзя, используй функцию isnan(x)isinf #
isinf(x)true, если x == INFINITYisfinite #
isfinite(x)true, если x != INFINITYisnan #
isnan(x)true, если x == NANisnormal #
isnormal(x)true, если x != NAN и x != INFINITY и x != 0Полезные страницы #
- Набор GyverKIT – наш большой стартовый набор Arduino, продаётся в России
- Каталог ссылок на дешёвые Ардуины, датчики, модули и прочие железки с AliExpress
- Обратная связь – сообщить об ошибке в уроке или предложить дополнение по тексту ([email protected])
- Поддержать автора за работу над уроками