Справочник по C/C++
Математические функции языка C++

Как было отмечено в главе "Математические функции языка С", в языках С и C++ первоначально поддерживался один и тот же набор из 22 математических функций. Однако по мере развития языка C++ к нему добавились перегруженные версии этих оригинальных функций. Затем размер математической библиотеки версии С99 значительно увеличился, причем таким способом, который не поддерживается в языке C++. В результате этих изменений библиотеки математических функций языков С и C++ на сегодняшний день существенно отличаются одна от другой, однако исходный набор математических функций по-прежнему поддерживается всеми версиями. Ввиду значительных различий между языками С и C++ в этой области математические функции языка С(включая те, которые добавлены в версии С99) описываются в главе 8, а в данной главе внимание уделяется функциям, определенным исключительно в языке C++.

Для использования математических функций в языке C++ необходимо включение в программу заголовка <cmath.h>. Этот заголовок не только объявляет математические функции, но и определяет макрос HUGE_VAL. Макросы EDOM и ERANGE также используются математическими функциями. Эти макросы определены в заголовке <cerrno.h>. Если аргумент математической функции не попадает в домен, для которого он определен, функцией возвращается некоторое значение, зависящее от конкретной реализации, а встроенная глобальная целая переменная errno устанавливается равной значению EDOM. Если функция генерирует результат, который слишком велик для возможностей представления, происходит переполнение. В этом случае функция возвращает значение HUGE_VAL, а переменная errno устанавливается равной значению ERANGE, сигнализирующему об ошибке диапазона. При обнаружении потери значимости функция возвращает нуль и устанавливает переменную errno равной значению ERANGE.

В языке C++ поддерживаются оригинальные математические функции, определенные в версии С89. Однако в версии С89 аргументами математических функций должны быть только значения типа double. К этим функциям в языке C++ добавились перегруженные версии, которые явно предназначены для приема значений типа float и long double. Действия, выполняемые функциями, остались теми же.

Все углы задаются в радианах.


Смотрите также

acos - Возвращает значение арккосинуса
asin - Возвращает значение арксинуса
atan - Возвращает значение арктангенса
atan2 - Возвращает значение арктангенса от у/х
ceil - Возвращает наименьшее целое которое больше или равно заданного значения
cos - Возвращает значение косинуса
cosh - Возвращает значение гиперболического косинуса
exp - Возвращает значение экспоненты
fabs - Возвращает абсолютное значение
floor - Возвращает наибольшее целое которое меньше или равно значения заданного аргумента
fmod - Остаток от деления значений аргументов х/у
frexp - Разбивает число на мантиссу и экспоненту
ldexp - Возвращает значение выражения num*2^ехр
log - Возвращает значение натурального логарифма
log10 - Возвращает значение логарифма по основанию 10
modf - Разбивает аргумент на целую и дробную части
pow - Возвращает значение аргумента которое возведено в заданную степень
sin - Возвращает значение синуса
sinh - Возвращает значение гиперболического синуса
sqrt - Возвращает значение квадратного корня
tan - Возвращает значение тангенса
tanh - Возвращает значение гиперболического тангенса





Нет комментариев.



Оставить комментарий:
Ваше Имя:
Email:
Антибот: *  
Ваш комментарий: