Книга: Язык программирования Си. Издание 3-е, исправленное
B4. Математические функции:
B4. Математические функции: <math.h>
В заголовочном файле <math.h> описываются математические функции и определяются макросы.
Макросы EDOM и ERANGE (находящиеся в <errno.h>) задают отличные от нуля целочисленные константы, используемые для фиксации ошибки области и ошибки диапазона; HUGE_VAL определена как положительное значение типа double. Ошибка области возникает, если аргумент выходит за область значений, для которой определена функция. Фиксация ошибки области осуществляется присвоением errno значения EDOM; возвращаемое значение зависит от реализации. Ошибка диапазона возникает тогда, когда результат функции не может быть представлен в виде double. В случае переполнения функция возвращает HUGE_VAL с правильным знаком и в errno устанавливается значение ERANGE. Если результат оказывается меньше, чем возможно представить данным типом, функция возвращает нуль, а устанавливается ли в этом случае errno в ERANGE, зависит от реализации. Далее x и y имеют тип double, n - тип int, и все функции возвращают значения типа double. Углы в тригонометрических функциях задаются в радианах.
sin(x) | синус x |
cos(x) | косинус x |
tan(x) | тангенс x |
asin(x) | арксинус x в диапазоне [-pi/2,pi/2], x в диапазоне [-1,1] |
acos(x) | арккосинус x в диапазоне [0, pi], x в диапазоне [-1,1] |
atan(x) | арктангенс x в диапазоне [-pi/2, pi/2] |
atan2(y,x) | арктангенс y/x в диапазоне [-pi, pi] |
sinh(x) | гиперболический синус x |
cosh(x) | гиперболический косинус x |
tanh(x) | гиперболический тангенс x |
exp(x) | Экспоненциальная функция ex |
log(x) | натуральный логарифм ln(x), x > 0 |
log10(x) | десятичный логарифм lg(x), x > 0 |
pow(x,y) | xy, ошибка области, если x = 0 или y<=0 или x<0 и y – не целое |
sqrt(x) | квадратный корень x, x >= 0 |
ceil(x) | наименьшее целое в виде double, которое не меньше x |
floor(x) | наибольшее целое в виде double, которое не больше x |
fabs(x) | абсолютное значение |x| |
ldexp(x, n) | x * 2n |
frexp(x, int *еxр) | разбивает x на два сомножителя, первый из которых - нормализованная дробь в интервале [1/2, 1), которая возвращается, а второй - степень двойки, эта степень запоминается в *exp. Если x - нуль, то обе части результата равны нулю |
modf(x,double *ip) | разбивается на целую и дробную части, обе имеют тот же знак, что и x. Целая часть запоминается в *ip, дробная часть выдается как результат |
fmod(x, y) | остаток от деления x на y в виде числа с плавающей точкой. Знак результата совпадает со знаком x. Если y равен нулю, результат зависит от реализации |
- B1. Ввод-вывод: ‹stdio.h›
- B2. Проверки класса символа: ‹ctype.h›
- B3. Функции, оперирующие со строками:
- B4. Математические функции:
- B5. Функции общего назначения:
- B6. Диагностика:
- B7. Списки аргументов переменной длины:
- B8. Дальние переходы:
- B9. Сигналы:
- B10. Функции даты и времени: ‹time.h›
- B11. Зависящие от реализации пределы: и
- Математические функции
- Часть 3. Функции клиентского сервиса
- 5.3. Функции mq_getattr и mq_setattr
- 6.2. Функции сортировки и поиска
- 12.2. Низкоуровневая память: функции memXXX()
- 7.8 Другие библиотечные функции
- Булевые функции Функция boolean
- Применение функции function-available
- Функции, функторы и классы функций
- У18.3 Однократные функции в родовых классах
- 7.8.6 Математические функции
- Стандартные математические функции