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 |