logb
From cppreference.com
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 floatingpoint argument arg
, and returns it as a floatingpoint value. Formally, the result is the integral part of log
rarg as a signed floatingpoint value, for nonzero arg, where r
is FLT_RADIX. If arg
is subnormal, it is treated as though it was normalized.
Contents 
Parameters
arg    floating point value 
Return value
The floatingpoint exponent.
Domain or range error may occur if arg
is zero.
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*re
 is between 1 and r
(typically between 1 and 2), but for the exponent e
returned by frexp, arg*2e
 is between 0.5 and 1.
Example
This section is incomplete Reason: no example 
See also
decomposes a number into significand and a power of 2 (function)  
(C99) 
extracts exponent of the number (function) 
(C99)(C99) 
multiplies a number by FLT_RADIX raised to a power (function) 