Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Lab_1_APR.doc
Скачиваний:
2
Добавлен:
01.07.2025
Размер:
582 Кб
Скачать
☆

2.15 Exp, expf - экспонента

#include <math.h>

double exp(double x);

float expf(float x);

х exp и expf вычисляют значение экспоненты от х, e (где e - основание натуральной системы логарифмов, приблизительно равное 2.71828).

  • Вы можете использовать функцию matherr (не-ANSI) для выбора обработчика ошибок для этих функций.

  • В случае успеха exp и expf возвращают вычисленное значение. Если результат слишком мал, возвращается значение 0. Если результат слишком велик, возвращается значение HUGE_VAL. В обоих случаях errno принимает значение ERANGE.

  • exp coответствует стандарту ANSI. expf является расширением.

2.16 Expm1, expm1f - экспонента минус 1

#include <math.h>

double expm1(double x);

float expm1f(float x);

expm1 и expm1f вычисляют значение экспоненты от х и вычитают 1, т. е. е в степени х, минус 1. (где e - основание натуральной системы логарифмов, приблизительно равное 2.71828). Результат остается точным даже для малых значениях х, в то время как использование exp(x)-1 вызвало бы потерю многих значащих цифр.

  • Ни expм1, ни expm1f не соответствуют стандарту ANSI и System V Interface Definition.

2.17 Fabs, fabsf - абсолютное значение (модуль)

#include <math.h>

double fabs(double x);

float fabsf(float x);

fabs и fabsf вычисляют ЁxЁ, абсолютное значение (модуль) от аргумента х. непосредственным обращением к битовому представлению аргумента.

  • Возвращается вычисленное значение. Никаких ошибок не возникает.

  • fabs coответствует стандарту ANSI. fabsf является расширением.

2.18 Floor, floorf, ceil, ceilf - наименьшее и наибольшее ближайшие целые

#include <math.h>

double floor(double x);

float floorf(float x);

double ceil(double x);

float ceilf(float x);

floor и floorf вычисляют ближайшее целое значение, не превосходящее х. ceil и ceilf вычисляют ближайшее целое значение, не меньшее х.

floor и ceil возвращают вычисленное значение типа double. floorf и ceilf возвращают вычисленное значение типа float.

  • floor и ceil coответствуют стандарту ANSI. floorf и ceilf являются расширениями.

2.19 Fmod, fmodf - остаток от деления в виде числа с плавающей точкой

#include <math.h>

double fmod(double x, double y);

float fmodf(float x, float y);

fmod и fmodf вычисляют остаток от деления х/у в формате плавающей точки (х ( mod y)).

  • Функция fmod возвращает значение x-i*y, для наибольшего такого i, что если y отличен от 0, результат имеет тот же знак, что и х, а по модулю не превосходит модуля y.

  • fmod(x,0) возвращает NaN, errno присваивается значение EDOM.

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

  • fmod coответствует стандарту ANSI. fmodf является расширением.

2.20 Frexp,frexpf - разбиение числа с плавающей точкой

#include <math.h>

double frexp(double val, int *exp);

float frexpf(float val, int *exp);

Все ненулевые нормализованные числа можно представить в виде m*(2**p) . frexp разбивает переменную типа double val на мантиссу m и степень двойки р. В результате мантисса всегда будет больше 0.5 и меньше чем 1.0 (поскольку val не ноль). Степень двойки хранится в переменной *exp.

  • m и р вычисляются так что

val = m*2p .

Функция frexpf идентична с точностью до типов.

  • frexp возвращает мантиссу m. Если val = 0 или NaN, frexp присваивает *exp значение 0, и возвращает val.

  • frexp coответствует стандарту ANSI. frexpf является расширением.

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