logb, logbf, logbl -
получение
целочисленной
экспоненты
значения
числа с
плавающей
запятой
Math library (
libm,
-lm)
#include <math.h>
int ilogb(double x);
int ilogbf(float x);
int ilogbl(long double x);
ilogb():
_ISOC99_SOURCE || _POSIX_C_SOURCE >= 200112L
|| _XOPEN_SOURCE >= 500
|| /* начиная с glibc 2.19: */ _DEFAULT_SOURCE
|| /* glibc <= 2.19: */ _BSD_SOURCE || _SVID_SOURCE
ilogbf(),
ilogbl():
_ISOC99_SOURCE || _POSIX_C_SOURCE >= 200112L
|| /* начиная с glibc 2.19: */ _DEFAULT_SOURCE
|| /* Glibc <= 2.19: */ _BSD_SOURCE || _SVID_SOURCE
Данные
функции
возвращают
экспоненту
своих
аргументов
в виде
целого
числа со
знаком. При
отсутствии
ошибок они
эквивалентны
соответствующим
функциям
logb(3),
значение
которых
приведено
к
int.
При
успешном
выполнении
эти
функции
возвращают
экспоненту
от
x в виде
целого
числа со
знаком.
Если
x
равно нулю,
то будет
сгенерирована
ошибка
выхода за
пределы
области, а в
качестве
результата
будет
возвращено
FP_ILOGB0.
Если
x
равно NaN, то
будет
сгенерирована
ошибка
выхода за
пределы
области, а в
качестве
результата
будет
возвращено
FP_ILOGBNAN.
Если
x
равно
отрицательной
или
положительной
бесконечности,
то будет
сгенерирована
ошибка
выхода за
пределы
области, а в
качестве
результата
будет
возвращено
INT_MAX.
Смотрите
math_error(7), чтобы
определить,
какие
ошибки
могут
возникать
при вызове
этих
функций.
Могут
возникать
следующие
ошибки:
- Ошибка
области: x
равно 0 или NaN
- Вызывается
исключение
неправильной
плавающей
запятой (
FE_INVALID)) и errno
устанавливается
в EDOM (но
смотрите
ДЕФЕКТЫ).
- Ошибка
области: x
стремится
к
бесконечности
- Вызывается
исключение
неправильной
плавающей
запятой (
FE_INVALID)) и errno
устанавливается
в EDOM (но
смотрите
ДЕФЕКТЫ).
Описание
терминов
данного
раздела
смотрите в
attributes(7).
Интерфейс |
Атрибут |
Значение |
ilogb(), ilogbf(), ilogbl() |
Безвредность
в нитях |
MT-Safe |
C99, POSIX.1-2001, POSIX.1-2008.
Before glibc 2.16, the following bugs existed in the glibc implementation of
these functions:
- •
- При
ошибке
области,
когда x
равно 0 или NaN,
не
изменялось
значение
errno или (на
некоторых
архитектурах)
не
возникало
исключение
неправильной
плавающей
запятой.
- •
- При
ошибке
области,
когда x
равно
бесконечности,
не
изменялось
значение
errno или не
возникало
исключение
неправильной
плавающей
запятой.
log(3),
logb(3),
significand(3)
Русский
перевод
этой
страницы
руководства
был сделан
Azamat Hackimov <
[email protected]>, Dmitriy S. Seregin
<
[email protected]>, Yuri Kozlov <
[email protected]> и
Иван
Павлов <
[email protected]>
Этот
перевод
является
бесплатной
документацией;
прочитайте
Стандартную
общественную
лицензию GNU
версии 3
или более
позднюю,
чтобы
узнать об
условиях
авторского
права. Мы не
несем
НИКАКОЙ
ОТВЕТСТВЕННОСТИ.
Если вы
обнаружите
ошибки в
переводе
этой
страницы
руководства,
пожалуйста,
отправьте
электронное
письмо на
[email protected]