📜  C++ STL-math.ilogb()函数(1)

📅  最后修改于: 2023-12-03 14:59:45.830000             🧑  作者: Mango

C++ STL - math.ilogb() 函数

在 C++ STL 中,math.ilogb() 函数用于获取浮点数的指数,它的返回值是一个整数类型。下面是该函数的详细介绍及示例。

语法

下面是该函数的语法:

int ilogb( double arg );
int ilogb( float arg );
int ilogb( long double arg );
参数
  • arg - 必需,要求得指数的浮点数。
返回值
  • 一个整数类型的值,它代表浮点数的指数。
示例

下面是一个使用 ilogb() 函数的简单示例:

#include <iostream>
#include <cmath>

using namespace std;

int main() {
    double x = 1024.0;
    int res = ilogb(x);
    cout << "logb(" << x << ") = " << res << endl;

    float y = 200.0f;
    res = ilogb(y);
    cout << "logb(" << y << ") = " << res << endl;

    long double z = 300.0L;
    res = ilogb(z);
    cout << "logb(" << z << ") = " << res << endl;

    return 0;
}

输出:

logb(1024) = 10
logb(200) = 7
logb(300) = 8

这个示例会打印给定浮点数的指数。

注意事项
  • 如果 arg 的值为 NaN,函数会返回 QNAN。
  • 如果 arg 的值为 ±0,函数将返回 -INT_MAX--1。
  • 如果结果不能用整数类型的变量存储,那么该函数的行为是未定义的。