# logbf(3) [linux man page]

LOGB(3) Linux Programmer's Manual LOGB(3)NAME

logb, logbf, logbl - get exponent of a floating-point valueSYNOPSIS

#include <math.h> double logb(double x); float logbf(float x); long double logbl(long double x); Link withFeature Test Macro Requirements for glibc (see feature_test_macros(7)): logb(): _BSD_SOURCE || _SVID_SOURCE || _XOPEN_SOURCE >= 500 || _XOPEN_SOURCE && _XOPEN_SOURCE_EXTENDED || _ISOC99_SOURCE || _POSIX_C_SOURCE >= 200112L; or cc-lm.logbf(), logbl(): _BSD_SOURCE || _SVID_SOURCE || _XOPEN_SOURCE >= 600 || _ISOC99_SOURCE || _POSIX_C_SOURCE >= 200112L; or cc-std=c99-std=c99DESCRIPTION

These functions extract the exponent from the internal floating-point representation of x and return it as a floating-point value. The integer constant FLT_RADIX, defined in <float.h>, indicates the radix used for the system's floating-point representation. If FLT_RADIX is 2, logb(x) is equal to floor(log2(x)), except that it is probably faster. If x is subnormal, logb() returns the exponent x would have if it were normalized.RETURN VALUE

On success, these functions return the exponent of x. If x is a NaN, a NaN is returned. If x is zero, then a pole error occurs, and the functions return,-HUGE_VAL, or-HUGE_VALF, respectively. If x is negative infinity or positive infinity, then positive infinity is returned.-HUGE_VALLERRORS

See math_error(7) for information on how to determine whether an error has occurred when calling these functions. The following errors can occur: Pole error: x is 0 A divide-by-zero floating-point exception (FE_DIVBYZERO) is raised. These functions do not set errno.CONFORMING TO

C99, POSIX.1-2001.SEE ALSO

ilogb(3), log(3)COLOPHON

This page is part of release 3.27 of the Linux man-pages project. A description of the project, and information about reporting bugs, can be found at http://www.kernel.org/doc/man-pages/. 2010-09-20 LOGB(3)

## Check Out this Related Man Page

LOGB(3) Linux Programmer's Manual LOGB(3)NAME

logb, logbf, logbl - get exponent of a floating-point valueSYNOPSIS

#include <math.h> double logb(double x); float logbf(float x); long double logbl(long double x); Link withFeature Test Macro Requirements for glibc (see feature_test_macros(7)): logb(): _BSD_SOURCE || _SVID_SOURCE || _XOPEN_SOURCE >= 500 || _ISOC99_SOURCE; or cc-lm.logbf(), logbl(): _BSD_SOURCE || _SVID_SOURCE || _XOPEN_SOURCE >= 600 || _ISOC99_SOURCE; or cc-std=c99-std=c99DESCRIPTION

These functions extract the exponent from the internal floating-point representation of x and return it as a floating-point value. The integer constant FLT_RADIX, defined in <float.h>, indicates the radix used for the system's floating-point representation. If FLT_RADIX is 2, logb(x) is equal to floor(log2(x)), except that it is probably faster. If x is subnormal, logb() returns the exponent x would have if it were normalized.RETURN VALUE

On success, these functions return the exponent of x. If x is a NaN, a NaN is returned. If x is zero, then a pole error occurs, and the functions return,-HUGE_VAL, or-HUGE_VALF, respectively. If x is negative infinity or positive infinity, then positive infinity is returned.-HUGE_VALLERRORS

See math_error(7) for information on how to determine whether an error has occurred when calling these functions. The following errors can occur: Pole error: x is 0 A divide-by-zero floating-point exception (FE_DIVBYZERO) is raised. These functions do not set errno.CONFORMING TO

C99, POSIX.1-2001.SEE ALSO

ilogb(3), log(3)COLOPHON

This page is part of release 3.25 of the Linux man-pages project. A description of the project, and information about reporting bugs, can be found at http://www.kernel.org/doc/man-pages/. 2008-08-05 LOGB(3)