Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Библиотека мат функ.doc
Скачиваний:
1
Добавлен:
01.04.2025
Размер:
104.45 Кб
Скачать

2.22 Hypot, hypotf - расстояние от начала координат

#include <math.h>

double hypot(double x, double y);

float hypotf(float x, float y);

hypot вычисляет евклидово расстояние sqrt( x**2 + y**2 ) между началом координат и точкой, представленной декартовыми координатами (х, y). hypotf отличается только типом аргументов и результата.

В случае успеха возвращается расстояние. При переполнении hypot возвращает HUGE_VAL и присваивает переменной errno значение ERANGE.

Эта обработка ошибок может быть изменена с помощью функции matherr.

Ни hypot, ни hypotf не являются ANSI C - функциями.

2.23 Ilogb, ilogbf - получение показателя степени в представлении числа с плавающей точкой

#include <math.h>

int ilogb(double val);

int ilogbf(float val);

Все ненулевые нормальные числа могут быть представлены в р виде m*2 . ilogb и ilogbf запрашивают аргумент val и возвращают число p. Функции frexp и frexpf подобны функциям ilogb и ilogbf, но помимо этого возвращают m.

ilogb и ilogbf возвращают степень двойки, которая используется для образования числа с плавающей точкой. Если аргумент равен 0, они возвращают -INT_MAX (INT_MAX определен в limits.h). Если val равен бесконечности или NaN, они возвращают INT_MAX.

Ни ilogb, ни ilogbf не входят в ANSI C и System V Interface Definition.

2.24 Infinity, infinityf - представление бесконечности

#include <math.h>

double infinity(void);

float infinityf(void);

infinity и infinityf возвращают специальное значение, объявленное в IEEE двойной и единичнойной точности соответственно.

2.25 Isnan, isnanf, isinf, isinff, finite, finitef - тест для чисел структуры exception

#include <ieeefp.h>

int isnan(double arg);

int isinf(double arg);

int finite(double arg);

int isnanf(float arg);

int isinff(float arg);

int finitef(float arg);

Эти функции выдают информацию о заданном аргументе - числе с плавающей точкой.

Существует пять основных форматов чисел:

zero

число, все биты которого - нули.

subnormal

используется для представления чисел с нулевым показателем, но ненулевой дробью.

normal

Число с показателем степени и с дробной частью.

infinity

Число с показателем, состоящим из одних единиц (в битовом представлении) и нулевой дробью.

NAN

Число с показателем, состоящим из одних единиц, и ненулевой дробью.

isnan возвращает 1, если аргумент равен nan. isinf возвращает 1, если аргумент равен infinity. finite возвращает 1, если аргумент равен zero, subnormal или normal. isnanf, isinff и finitef производят те же действия, что и их аналоги isnan, isinf и finite, но с одноразрядными числами с плавающей точкой.

2.26 Ldexp, ldexpf - задание показателя

#include <math.h>

double ldexp(double val, int exp);

float ldexpf(float val, int exp);

ldexp вычисляет величину val*(p**exp). ldexpf аналогична с точностью до типов.

ldexp и ldexpf возвращают вычисленные значения.

При переполнении в обе стороны переменной errno присваивается значение ERANGE. При переполнении в отрицательную сторону ldexp и ldexpf приобретают значение 0.0. При переполнении в положительную сторону ldexp становится равной HUGE_VAL со знаком плюс или минус.

ldexp удовлетворяет стандарту ANSI C. ldexpf является расширением.

2.27 Log, logf - натуральные логарифмы

#include <math.h>

double log(double x);

float logf(float x);

Возвращают значение натурального логарифма от х, то есть логарифм по основанию e ( где e - основание натуральной системы логарифмов, 2.71828...). log и logf идентичны с точностью до типов входных и выходных данных.

Вы можете изменить обработку ошибок для этих функций, используя matherr.

В случае успеха возвращается вычисленное значение. Если х равен нулю, получаемое значение функции будет -HUGE_VAL а переменная errno станет равной EDOM. Переиначить поведение обработчика ошибок можно использованием matherr.

log удовлетворяет стандарту ANSI C. logf является расширением.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]