×
Traktatov.net » Язык программирования C [Лекции и упражнения, 6-е изд.] » Читать онлайн
Страница 532 из 557 Настройки

Для краткости в табл. BV.16 перечислены только версии double функций математической библиотеки. В таблице присугствует ссылка на константу FLT_RADIX. Эта константа, определенная в float.h, в основном используется для возведения в степень во внугреннем представлении значения плавающей запятой. Чаще всего она равна 2.

Таблица 6.V.16. Стандартные математические функции ANSI С








Справочные материалы 863

Продолжение табл. Б. У. /6

Прототип

Описание

double floor(double х);

Возвращает максимальное целое значение, не большее чем х

double nearbyint(double x);

Округляет х до ближайшего целого в формате с плавающей запятой; использует направление округления, установленное средой плавающей запятой, если она доступна. Исключение “неточности” не генерируется (С99)

double rint(double x);

Подобна nearbyint(), но может генерировать исключение "неточности” (С99)

long int lrint (double x);

Округляет х до ближайшего целого в формате long int; использует направление округления, установленное средой плавающей запятой, если она доступна (С99)

long long int llrint( double x);

Округляет х до ближайшего целого в формате long long int; использует направление округления, установленное средой плавающей запятой, если она доступна (С99)

double round(double x);

Округляет х до ближайшего целого в формате с плавающей запятой; всегда округляет частичные значения в сторону от нуля (С99)

long int lround (double x);

Подобна round(), но возвращает ответ типа long int (С99)

long long int lround ( double x);

Подобна round(), но возвращает ответ типа long long int (С99)

double trunc(double x);

Округляет х до ближайшего целого в формате с плавающей запятой, которое не больше абсолютного значения х (С99)

int fmod(double x, double y);

Возвращает дробную часть х/у; если у — не ноль, то результат получает тот же знак, что х, и по абсолютному значению меньше, чем у

double remainder(double x, double y);

Возвращает х REM у, что в стандарте IEC 60559 определено как х - n*у, где n — ближайшее к х/у целое; n — четное, если абсолютное значение (n — х/у) равно 1/2 (С99)

double remquo(double x, double y, int *quo);

Возвращает то же значение, что и reminder(), и помещает в место, указываемое quo, значение, имеющее тот же знак, что и х/у, и имеющее абсолютную целую величину х/у по модулю 2\ где к — зависящее от реализации целое, значение которого не меньше 3 (С99)

double copysign(double x, double y);

Возвращает значение абсолютной величины х со знаком у (С99)

double nan(

const char *tagp);

Возвращает double-представление NaN; nan("последовательность-символов-п") эквивалентно strtod ("NAN (последовательность-символов-п)", (char **) NOLL); nan ("") — эквивалент strtod ("NAN О", (char **) NULL); для других строк, передаваемых в качестве аргументов, вызов эквивалентен strtod ("NAN", (char * *) NULL). Возвращает 0, если несигнальные NaN не поддерживаются (С99)

double nextafter(double x, double y);

Возвращает следующее представимое значение типа double после х в направлении у; возвращает х, если х равно у (С99)