int ilogb (double x); int ilogbf (float x); int ilogbl (long double x);
int ilogb (double x); int ilogb (float x); int ilogb (long double x); int ilogb (T x); // additional overloads for integral types
1.0 and FLT_RADIX, so that, for a positive x:2, and the value returned by this function is one less than the exponent obtained with frexp (because of the different significand normalization as [1.0,2.0) instead of [0.5,1.0)).<cmath>) for the integral types: These overloads effectively cast x to a double before calculations (defined for T being any integral type).| macro | description | 
|---|---|
| FP_ILOGB0 | x is zero | 
| FP_ILOGBNAN | x is NaN | 
|  |  | 
| ilogb(10.000000) = 3 |