ilogb()
是做什么的?我在Google上查找了它,但我听不懂。
#include <stdio.h>
#include <math.h>
int main()
{
float num;
printf("%f",(float)ilogb(125));
return 0;
}
输出:
6.000000
Process returned 0 (0x0) execution time : 0.764 s
Press any key to continue.
为什么返回6?
最佳答案
ilogb()
是做什么的?
为什么返回6
?
当在FLT_RADIX
中定义的<float.h>
的值为2
时,ilogb()
返回参数的二进制表示形式中最高有效1
的位置。
例如:125
是“ 0b1111101
”;最重要的1
在位置6; ilogb(125)
返回6
作为您打印的代码。
或者0.25
是“ 0b0.01
”; ilogb(0.25)
返回-2
。
关于c - 什么是c中的ilogb()?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/58374030/