Математические функции языка 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 - Возвращает значение гиперболического тангенса |
Нет комментариев. Оставить комментарий: |