ldexp, ldexpf, ldexpl -
умножает
число с
плавающей
запятой на 2
в степени
целого
числа
Math library (
libm,
-lm)
#include <math.h>
double ldexp(double x, int exp);
float ldexpf(float x, int exp);
long double ldexpl(long double x, int exp);
ldexpf(),
ldexpl():
_ISOC99_SOURCE || _POSIX_C_SOURCE >= 200112L
|| /* начиная с glibc 2.19: */ _DEFAULT_SOURCE
|| /* Glibc <= 2.19: */ _BSD_SOURCE || _SVID_SOURCE
Эти
функции
возвращают
результат
умножения
числа с
плавающей
запятой
x
на 2 в
степени
exp.
On success, these functions return
x * (2^exp).
Если
exp
равно 0, то
будет
возвращено
x.
Если
x
имеет
значение NaN,
будет
возвращено
NaN.
Если
x
стремится
к плюс или
минус
бесконечности,
будет
возвращена
плюс или
минус
бесконечность.
Если в
результате
исчерпана
степень
числа,
возникает
ошибка
диапазона
и
возвращается
ноль.
Если в
результате
превышена
разрядность,
то
возникает
ошибка
диапазона
и функции
возвращают
HUGE_VAL,
HUGE_VALF или
HUGE_VALL,
соответственно,
с тем же
знаком что
и
x.
Смотрите
math_error(7), чтобы
определить,
какие
ошибки
могут
возникать
при вызове
этих
функций.
Могут
возникать
следующие
ошибки:
- Ошибка
диапазона,
переполнение
- Значение
errno
устанавливается
в ERANGE.
Возникает
исключение
переполнения
плавающей
запятой (
FE_OVERFLOW).
- Ошибка
диапазона,
исчерпана
степень
- Значение
errno
устанавливается
в ERANGE.
Возникает
исключение
исчерпания
степени
чисел с
плавающей
запятой (
FE_UNDERFLOW).
Описание
терминов
данного
раздела
смотрите в
attributes(7).
Интерфейс |
Атрибут |
Значение |
ldexp(), ldexpf(), ldexpl() |
Безвредность
в нитях |
MT-Safe |
C99, POSIX.1-2001, POSIX.1-2008.
Вариант,
возвращающий
значение
типа
double,
также
соответствует
SVr4, 4.3BSD.
frexp(3),
modf(3),
scalbln(3)
Русский
перевод
этой
страницы
руководства
был сделан
Artyom Kunyov <
[email protected]>, Azamat Hackimov
<
[email protected]>, Dmitry Bolkhovskikh
<
[email protected]>, Katrin Kutepova <
[email protected]>,
Konstantin Shvaykovskiy <
[email protected]>, Yuri Kozlov
<
[email protected]> и Иван
Павлов <
[email protected]>
Этот
перевод
является
бесплатной
документацией;
прочитайте
Стандартную
общественную
лицензию GNU
версии 3
или более
позднюю,
чтобы
узнать об
условиях
авторского
права. Мы не
несем
НИКАКОЙ
ОТВЕТСТВЕННОСТИ.
Если вы
обнаружите
ошибки в
переводе
этой
страницы
руководства,
пожалуйста,
отправьте
электронное
письмо на
[email protected]