C ++ ilogb () - Standardna knjižnica C ++

Funkcija ilogb () v jeziku C ++ vrne sestavni del logaritma | x |, pri čemer FLT_RADIX služi kot osnova za logaritem.

To je določeno v datoteki glave.

Matematično,

 x = significand * FLT_RADIXexponent

significand je vrednost s plavajočo vejico v obsegu (1.0, 2.0), x je argument, poslan v ilogb (), eksponent pa celoštevilčna vrednost, ki jo vrne ilogb (). Vrednost FLT_RADIX je običajno 2.

Vrednost, ki jo vrne ilogb (), je ena manjša od eksponenta, ki ga ustvari funkcija frexp (), saj je pomembnost v območju (1.0, 2.0) namesto (0.5, 1.0) kot pri frexp ().

prototip ilogb () (od standarda C ++ 11)

int ilogb (dvojni x); int ilogb (float x); int ilogb (dolgi dvojni x); int ilogb (T x); // Za integralni tip

ilogb () Parametri

Funkcija ilogb () sprejme en argument, katerega ilogb se izračuna.

ilogb () Vrnjena vrednost

Funkcija ilogb () vrne sestavni del logaritma | x |, pri čemer FLT_RADIX služi kot osnova za logaritem.

  • Če je argument 0, vrne FP_LOGB0.
  • Če je argument NaN, vrne FP_LOGBNAN.
  • Če je argument neskončen, vrne INT_MAX.

Primer 1: Kako deluje funkcija ilogb () v jeziku C ++?

 #include #include #include 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; ) 

Ko zaženete program, bo rezultat:

 ilogb (16,81) = 4 16,81 = 1,05062 * 2 4 

Primer 2: funkcija ilogb () z integriranim tipom

 #include #include #include 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; ) 

Ko zaženete program, bo rezultat:

 ilogb (19) = 4 19 = 1,1875 * 2 4

Zanimive Članki...