LOGB(3) | Library Functions Manual | LOGB(3)

# NAME

`logb`, `logbf`, `logbl`, `scalb`, `scalbf`, `scalbl`, `significand`, `significandf` — IEEE test functions

# SYNOPSIS

Math Library (libm, -lm)
`#include <math.h>`

double
`logb`(double x);

float
`logbf`(float x);

long double
`logbl`(long double x);

double
`scalb`(double x, double n);

float
`scalbf`(float x, float n);

long double
`scalbl`(long double x, long double n);

double
`significand`(double x);

float
`significandf`(float x);

# DESCRIPTION

These functions allow users to test conformance to IEEE Std 754-1985. Their use is not otherwise recommended.

`logb`(x) returns x's exponent n, a signed integer converted to double-precision floating-point. `logb`(±infinity) = +infinity; `logb`(0) = -infinity with a division by zero exception. `logbf`() is the single precision form of `logb`(). `logbl`() is the extended precision form of `logb`().

`scalb`(x, n) returns x*(2**n) computed by exponent manipulation. `scalbf`() is the single precision form of `scalb`(). `scalbl`() is the extended precision form of `scalb`().

`significand`(x) returns sig, where x := sig * 2**n with 1 ≤ sig < 2. `significand`(x) is not defined when x is 0, ±infinity, or NaN. `significandf`() is the single precision for of `significand`().

# SEE ALSO

fpclassify(3), ilogb(3), scalbn(3)

# STANDARDS

IEEE Std 754-1985

June 7, 2025 | Debian