##### cppreference.com

##### Search

Create account

##### Namespaces

- Page
- Discussion

##### Variants

##### Views

- View
- Edit
- History

##### Actions

# logb

From cppreference.com
< c‎ | numeric‎ | math

Defined in header `<math.h>` |  |
float logbf( float arg ); |  | (since C99)
double logb( double arg ); |  | (since C99)
long double logbl( long double arg ); |  | (since C99)

Extracts the value of the exponent from the floating-point argument `arg`, and returns it as a floating-point value. Formally, the result is the integral part of log
r|arg| as a signed floating-point value, for non-zero arg, where `r` is FLT_RADIX. If `arg` is subnormal, it is treated as though it was normalized.

### [edit] Parameters

arg | - | floating point value

### [edit] Return value

The floating-point exponent.

Domain or range error may occur if `arg` is zero.

### [edit] Notes

The value of the exponent returned by logb is always 1 less than the exponent retuned by frexp because of the different normalization requirements: for the exponent `e` returned by logb, |arg*r-e
| is between 1 and `r` (typically between 1 and 2), but for the exponent `e` returned by frexp, |arg*2-e
| is between 0.5 and 1.

### [edit] Example

| This section is incomplete Reason: no example

### [edit] See also

frexp | decomposes a number into significand and a power of 2 (function) [edit]
ilogb (C99) | extracts exponent of the number (function) [edit]
scalbn scalbln (C99)(C99) | multiplies a number by FLT_RADIX raised to a power (function) [edit]

Retrieved from "http://en.cppreference.com/mwiki/index.php?title=c/numeric/math/logb&oldid=62596"
Category:

- Todo no example