Вычислить целую часть логарифма
#include <math.h>int ilogb( double x );int ilogbf(float x );
libm
Функции ilogb() и ilogbf() вычисляют целую часть:
logᵣ |x|
в виде знакового целого числа, для ненулевых конечных x, где r является основанием системы счисления арифметики с плавающей запятой.
Экспоненциальная часть x, в целочисленном формате:
Если x равен: | ilogb() возвращает: |
---|---|
0 | -INT_MAX |
NAN | INT_MAX |
-Inf | INT_MAX |
Inf | INT_MAX |
![]() | В случае возникновения ошибки, эти функции возвращают 0 , который также может быть и достоверным математическим результатом. Если вам необходимо проверить, возникла ли ошибка, установите errno в 0 , вызовите функцию, и затем снова проверьте errno. Эти функции не изменяют errno в случае отсутствия ошибок. |
#include <stdio.h>#include <stdlib.h>#include <math.h>int main( void ){printf( "%f\n", ilogb( .5 ) );return (EXIT_SUCCESS);}
ANSI, POSIX 1003.1
log(), logb(), log10(), log1p()
Предыдущий раздел: Описание API математической библиотеки