netlib.narod.ru< Назад | Оглавление | Далее >

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 в диапазоне [–p/2, p/2], x О [–1, 1]

acos(x)

арккосинус x в диапазоне [0, p], x О [–1, 1]

atan(x)

арктангенс x в диапазоне [–p/2, p/2]

atan2(y,x)

арктангенс y/x в диапазоне [–pp]

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 на целую и дробную части, обе имеют тот же знак, что и x. Целая часть запоминается в *ip, дробная часть выдается как результат

fmod(x, y)

остаток от деления x на y в виде числа с плавающей точкой. Знак результата совпадает со знаком x. Если y равен нулю, результат зависит от реализации


netlib.narod.ru< Назад | Оглавление | Далее >

Сайт управляется системой uCoz