C++ 基礎(chǔ)教程

C++ 流程控制

C++ 函數(shù)

C++ 數(shù)組 & 字符串

C++ 數(shù)據(jù)結(jié)構(gòu)

C++ 類 & 對象

C++ 指針

C++ 繼承

C++ STL 教程

C++ 參考手冊

C++ ilogb() 函數(shù)使用方法及示例

C++ 庫函數(shù) <cmath>

C ++中的ilogb()函數(shù)使用FLT_RADIX作為對數(shù)的底數(shù),返回| x |的對數(shù)的整數(shù)部分。

這在<cmath>頭文件中定義。

數(shù)學(xué)上

x = significand * FLT_RADIXexponent

significand是在[1.0,2.0)范圍內(nèi)的浮點值,x是傳遞給ilogb()的參數(shù),而exponent是ilogb()返回的整數(shù)值。FLT_RADIX的值一般為2。

ilogb()返回的值比frexp()函數(shù)生成的指數(shù)小1 ,因為有效位數(shù)在[ 1.0,2.0]范圍內(nèi),而不是frexp()在[0.5,1.0]范圍內(nèi)。

ilogb()原型[從C ++ 11標(biāo)準(zhǔn)開始]

int ilogb (double x);
int ilogb (float x);
int ilogb (long double x);
int ilogb (T x); // For integral type

ilogb()參數(shù)

ilogb()函數(shù)接受一個參數(shù),它的ilogb是計算得到的。

ilogb()返回值

ilogb()函數(shù)使用FLT_RADIX作為對數(shù)的底數(shù),返回| x |的對數(shù)的整數(shù)部分。

  • 如果參數(shù)為0,則返回FP_LOGB0。

  • 如果參數(shù)為NaN,則返回FP_LOGBNAN。

  • 如果參數(shù)是無限的,則返回INT_MAX。

示例1:ilogb()函數(shù)如何在C ++中工作?

#include <iostream>
#include <cmath>
#include <cfloat>

using namespace std;

int main()
{
    int result;
    double significand;
    double x = 16.81;

    result = ilogb(x);
    significand = x / pow(FLT_RADIX, result);

    cout << "ilogb (" << x << ") = " << result << endl;
    cout << x << " = " << significand << " * " << FLT_RADIX << "^" << result << endl << endl;

    return 0;
}

運行該程序時,輸出為:

ilogb (16.81) = 4
16.81 = 1.05062 * 2^4

示例2:具有整數(shù)類型的ilogb()函數(shù)

#include <iostream>
#include <cmath>
#include <cfloat>

using namespace std;

int main()
{
    int result, x = 19;

    result = ilogb(x);
    double significand = x/pow(FLT_RADIX,result);

    cout << "ilogb (" << x << ") = " << result << endl;
    cout << x << " = " << significand << " * " << FLT_RADIX << "^" << result << endl << endl;
    
    return 0;
}

運行該程序時,輸出為:

ilogb (19) = 4
19 = 1.1875 * 2^4

C++ 庫函數(shù) <cmath>

丰满人妻一级特黄a大片,午夜无码免费福利一级,欧美亚洲精品在线,国产婷婷成人久久Av免费高清