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/

10-12 04:02