scalbn, scalbnf, scalbnl, scalbln, scalblnf, scalblnl -
умножает
число с
плавающей
запятой на
основание
в степени
целого
числа
Math library (
libm,
-lm)
#include <math.h>
double scalbln(double x, long exp);
float scalblnf(float x, long exp);
long double scalblnl(long double x, long exp);
double scalbn(double x, int exp);
float scalbnf(float x, int exp);
long double scalbnl(long double x, int exp);
scalbln(),
scalblnf(),
scalblnl():
_ISOC99_SOURCE || _POSIX_C_SOURCE >= 200112L
|| /* Since glibc 2.19: */ _DEFAULT_SOURCE
scalbn(),
scalbnf(),
scalbnl():
_ISOC99_SOURCE || _POSIX_C_SOURCE >= 200112L
|| /* начиная с glibc 2.19: */ _DEFAULT_SOURCE
|| /* Glibc <= 2.19: */ _BSD_SOURCE || _SVID_SOURCE
Эти
функции
умножают
свой
первый
аргумент
x
на
FLT_RADIX
(обычно, 2),
возведённый
в степень
exp,
то есть:
x * FLT_RADIX ** exp
Определение
значения
FLT_RADIX можно
получить
включив
файл
<float.h>.
При
успешном
выполнении
данные
функции
возвращают
x *
FLT_RADIX **
exp.
Если
x
имеет
значение NaN,
будет
возвращено
NaN.
Если
x
стремится
к плюс или
минус
бесконечности,
будет
возвращена
плюс или
минус
бесконечность.
Если
x
равно +0 (-0),
будет
возвращено
+0 (-0).
Если в
результате
превышена
разрядность,
то
возникает
ошибка
диапазона
и функции
возвращают
HUGE_VAL,
HUGE_VALF или
HUGE_VALL,
соответственно,
с тем же
знаком что
и
x.
Если
результат
исчерпал
степень,
генерируется
ошибка
диапазона,
а функции
возвращают
0 с тем же
знаком что
и
x.
Смотрите
math_error(7), чтобы
определить,
какие
ошибки
могут
возникать
при вызове
этих
функций.
Могут
возникать
следующие
ошибки:
- Ошибка
диапазона,
переполнение
- Вызывается
исключение
переполнения
плавающей
запятой (
FE_OVERFLOW).
- Ошибка
диапазона,
исчерпана
степень
- Значение
errno
устанавливается
в ERANGE.
Возникает
исключение
исчерпания
степени
чисел с
плавающей
запятой (
FE_UNDERFLOW).
These functions were added in glibc 2.1.
Описание
терминов
данного
раздела
смотрите в
attributes(7).
Интерфейс |
Атрибут |
Значение |
scalbn(), scalbnf(), scalbnl(), scalbln(),
scalblnf(), scalblnl() |
Безвредность
в нитях |
MT-Safe |
C99, POSIX.1-2001, POSIX.1-2008.
Эти
функции
отличаются
от
устаревших
функций,
описанных
в
scalb(3), типом
второго
аргумента.
У функций,
описанных
здесь,
второй
аргумент
имеет
целочисленный
тип, а у
описанных
в
scalb(3) второй
аргумент
имеет тип
double.
Если
FLT_RADIX
равно 2
(обычно), то
scalbn()
эквивалентна
ldexp(3).
Before glibc 2.20, these functions did not set
errno for range errors.
ldexp(3),
scalb(3)
Русский
перевод
этой
страницы
руководства
был сделан
Alexander Golubev <
[email protected]>, Azamat Hackimov
<
[email protected]>, Hotellook, Nikita
<
[email protected]>, Spiros Georgaras <
[email protected]>, Vladislav
<
[email protected]>, Yuri Kozlov <
[email protected]>
и Иван
Павлов <
[email protected]>
Этот
перевод
является
бесплатной
документацией;
прочитайте
Стандартную
общественную
лицензию GNU
версии 3
или более
позднюю,
чтобы
узнать об
условиях
авторского
права. Мы не
несем
НИКАКОЙ
ОТВЕТСТВЕННОСТИ.
Если вы
обнаружите
ошибки в
переводе
этой
страницы
руководства,
пожалуйста,
отправьте
электронное
письмо на
[email protected]