C语言math头文件(math.h)中ilogb函数的用法及代码示例。
用法:
int ilogb (double x);
int ilogbf (float x);
int ilogbl (long double x);
整数二进制对数
这是 index 由机器内部使用以表示浮点值x,当它使用重要的之间
1.0
和FLT_RADIX,以便x:x =有效位数* FLT_RADIXexponent
一般来说,FLT_RADIX是
2
,并且此函数返回的值比 index 获得与frexp(由于不同重要的归一化为[1.0,2.0)
代替[0.5,1.0)
)。标头<tgmath.h>提供此函数的type-generic宏版本。
此函数可能会返回两个特定的宏常量,以指示以下特殊情况:
宏 | 描述 |
---|---|
FP_ILOGB0 | x是零 |
FP_ILOGBNAN | x是NaN |
这些宏常量是在同一标头中定义的(<cmath>)。
参数
- x
- 值谁博客返回。
返回值
如果x 是正常的,基地FLT_RADIX的对数x。如果x是次正规的,返回的值是对应于规范化表示的值(负数) index )。
如果x为零,则返回FP_LOGB0(一个特殊值,仅由该函数返回,定义为<cmath>)。
如果x是无限的,它会返回INT_MAX。
如果x是NaN,则返回FP_ILOGBNAN(一个特殊值,仅由该函数返回,定义为<cmath>)。
如果结果的大小太大而无法用返回类型的值表示,则该函数返回一个未指定的值,并溢出范围误差发生。
的零,无穷或NaN值x可能还会导致域错误或溢出范围误差。
如果域错误发生:
- 和math_errhandling已MATH_ERRNO设置:全局变量errno被设定为EDOM。
- 和math_errhandling已MATH_ERREXCEPT设置:FE_INVALID被抛出
如果溢出范围误差发生:
- 和math_errhandling已MATH_ERRNO设置:全局变量errno被设定为ERANGE。
- 和math_errhandling已MATH_ERREXCEPT设置:FE_OVERFLOW被抛出
示例
/* ilogb example */
#include <stdio.h> /* printf */
#include <math.h> /* ilogb */
int main ()
{
double param;
int result;
param = 10.0;
result = ilogb (param);
printf ("ilogb(%f) = %d\n", param, result);
return 0;
}
输出:
ilogb(10.000000) = 3 |
相关用法
- C语言 cos用法及代码示例
- C语言 sin用法及代码示例
- C语言 tan用法及代码示例
- C语言 acos用法及代码示例
- C语言 asin用法及代码示例
- C语言 atan用法及代码示例
- C语言 atan2用法及代码示例
- C语言 cosh用法及代码示例
- C语言 sinh用法及代码示例
- C语言 tanh用法及代码示例
- C语言 acosh用法及代码示例
- C语言 asinh用法及代码示例
- C语言 atanh用法及代码示例
- C语言 exp用法及代码示例
- C语言 frexp用法及代码示例
- C语言 ldexp用法及代码示例
- C语言 log用法及代码示例
- C语言 log10用法及代码示例
- C语言 modf用法及代码示例
- C语言 exp2用法及代码示例
- C语言 expm1用法及代码示例
- C语言 log1p用法及代码示例
- C语言 log2用法及代码示例
- C语言 logb用法及代码示例
- C语言 scalbn用法及代码示例
- C语言 scalbln用法及代码示例
- C语言 pow用法及代码示例
- C语言 sqrt用法及代码示例
- C语言 cbrt用法及代码示例
- C语言 hypot用法及代码示例
- C语言 erf用法及代码示例
- C语言 erfc用法及代码示例
- C语言 tgamma用法及代码示例
- C语言 lgamma用法及代码示例
- C语言 ceil用法及代码示例
- C语言 floor用法及代码示例
- C语言 fmod用法及代码示例
- C语言 trunc用法及代码示例
- C语言 round用法及代码示例
- C语言 lround用法及代码示例
- C语言 llround用法及代码示例
- C语言 rint用法及代码示例
- C语言 lrint用法及代码示例
- C语言 llrint用法及代码示例
- C语言 nearbyint用法及代码示例
- C语言 remainder用法及代码示例
- C语言 remquo用法及代码示例
- C语言 copysign用法及代码示例
- C语言 nextafter用法及代码示例
- C语言 nexttoward用法及代码示例
- C语言 fdim用法及代码示例
- C语言 fmax用法及代码示例
- C语言 fmin用法及代码示例
- C语言 fabs用法及代码示例
- C语言 abs用法及代码示例
- C语言 fma用法及代码示例
- C语言 isfinite用法及代码示例
- C语言 isgreater用法及代码示例
- C语言 isgreaterequal用法及代码示例
- C语言 isless用法及代码示例
- C语言 islessequal用法及代码示例
- C语言 islessgreater用法及代码示例
- C语言 isunordered用法及代码示例
注:本文由纯净天空筛选整理自C标准库大神的英文原创作品 C ilogb function。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。