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

2.31 Modf, modff - разбиение на дробную и целую части

#include <math.h>

double modf(double val, double *ipart);

float modff(float val, float *ipart);

modf разделяет переменную val типа double на целую и дробную части, возвращая дробную часть и сохраняя целую в *ipart. Не происходит никакого округления, сумма дробной и целой частей гарантированно составит val. То есть, если realpart = mod(val, &intpart); тогда 'realpart + intpart' в точности будет равняться val.

modff идентичен с точностью до типов.

Возвращается дробная часть. Знак результата совпадает со знаком исходного аргумента val.

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

2.32 Nan, nanf - представление бесконечности

#include <math.h>

double nan(void);

float nanf(void);

nan и nanf возвращают NaN, определенный в IEEE, двойной и одинарной точности соответственно.

2.33 Nextafter, nextafterf - получение ближайшего числа

#include <math.h>

double nextafter(double val, double dir);

float nextafterf(float val, float dir);

nextafter возвращает число с плавающей точкой двойной точности ближайшее к val в направлении к числу dir. nextafterf производит те же действия с одинарной точостью. Например, nextafter(0.0,1.0) возвращает наименьшее положительное число двойной точности.

возвращает число ближайшее к val в направлении к dir число.

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

2.34 Pow, powf - X в степени y

#include <math.h>

double pow(double x, double y);

float powf(float x, float y);

pow и powf вычисляют x в степени y.

В случае успеха возвращается вычисленное значение.

Когда происходит переполнение, pow возвращает HUGE_VAL а errno получает значение ERANGE. Ecли входной х отрицателен, а y - не целое число, тогда errno принимает значение EDOM. Если оба аргумента равны 0, pow и powf возвращают 1.

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

pow отвечает стандарту ANSI C. powf является расширением.

2.35 Rint, rintf, remainder, remainderf - округление и остаток

#include <math.h>

double rint(double x);

float rintf(float x);

double remainder(double x, double y);

float remainderf(float x, float y);

rint и rintf возвращают свой аргумент, округленный до ближайшего целого. remainder и remainderf находят остаток от деления x/y; это будет число между -y/2 и y/2.

rint и remainder возвращают целое значение в виде double.

rint и remainder входят в System V release. rintf и remainderf являются расширениями.

2.36 Scalbn, scalbnf - масштабирование

#include <math.h>

double scalbn(double x, int n);

float scalbnf(float x, int n);

scalbn и scalbnf производят операцию масштабирования, возвращая двойку в степени n, взятую х раз. Результат высчитываетсся посредством манипуляций с экспонентой, а не через стандартные возведения в степень и перемножение.

n

x * 2

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

2.37 Sqrt, sqrt - арифметический квадратный корень

#include <math.h>

double sqrt(double x);

float sqrtf(float x);

sqrt вычисляет арифметический (неотрицательный) квадратный корень из аргумента.

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

В случае успеха возвращается вычисленное значение квадратного корня. Если х веществененный и неотрицательный, результат неотрицателен. Если х вещественный и отрицательный, переменной errno присваивается значение EDOM (ошибка DOMAIN error).

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

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