logb, logbf, logbl -
получение
экспоненты
значения
числа с
плавающей
запятой
Math library (
libm,
-lm)
#include <math.h>
double logb(double x);
float logbf(float x);
long double logbl(long double x);
logb():
_ISOC99_SOURCE || _POSIX_C_SOURCE >= 200112L
|| _XOPEN_SOURCE >= 500
|| /* начиная с glibc 2.19: */ _DEFAULT_SOURCE
|| /* glibc <= 2.19: */ _BSD_SOURCE || _SVID_SOURCE
logbf(),
logbl():
_ISOC99_SOURCE || _POSIX_C_SOURCE >= 200112L
|| /* начиная с glibc 2.19: */ _DEFAULT_SOURCE
|| /* Glibc <= 2.19: */ _BSD_SOURCE || _SVID_SOURCE
Эти
функции
извлекают
экспоненту
из
внутреннего
представления
числа с
плавающей
запятой
x и
возвращают
его в виде
значения с
плавающей
запятой.
Целочисленная
константа
FLT_RADIX,
определённая
в
<float.h>,
задаёт
основание
системного
представления
плавающей
запятой.
Если
FLT_RADIX
равно 2, то
logb(x )
эквивалентен
floor(log2(x)) (но,
вероятно,
быстрее).
Если
x
субнормально,
то
logb()
возвращает
экспоненту
x так, как
если бы она
была
нормализована.
В случае
успеха эти
функции
возвращают
экспоненту
от
x.
Если
x
имеет
значение NaN,
будет
возвращено
NaN.
Если
x
равно нулю,
возникнет
ошибка
особой
точки, и
функция
вернет -
HUGE_VAL,
-
HUGE_VALF или -
HUGE_VALL,
соответственно.
Если
x
стремится
к минус или
плюс
бесконечности,
то будет
возвращена
плюс
бесконечность.
Смотрите
math_error(7), чтобы
определить,
какие
ошибки
могут
возникать
при вызове
этих
функций.
Могут
возникать
следующие
ошибки:
- Ошибка
особой
точки: x
равно 0
- Возникает
исключение
деления
плавающей
запятой на
ноль ( FE_DIVBYZERO).
Эти
функции не
изменяют
errno.
Описание
терминов
данного
раздела
смотрите в
attributes(7).
Интерфейс |
Атрибут |
Значение |
logb(), logbf(), logbl() |
Безвредность
в нитях |
MT-Safe |
C99, POSIX.1-2001, POSIX.1-2008.
ilogb(3),
log(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]