C ++ ilogb () - C ++ Standardbibliotek

Funksjonen ilogb () i C ++ returnerer den integrerte delen av logaritmen til | x |, ved å bruke FLT_RADIX som base for logaritmen.

Dette er definert i topptekstfilen.

Matematisk,

 x = significand * FLT_RADIXexponent

significand er en flytende verdi i området (1.0, 2.0), x er argumentet overført til ilogb () og eksponent er heltallet som returneres av ilogb (). Verdien av FLT_RADIX er vanligvis 2.

Verdien som returneres av ilogb () er en mindre enn eksponenten generert av frexp () -funksjonen, siden signifikansen er i området (1.0, 2.0) i stedet for (0.5, 1.0) som i frexp ().

ilogb () prototype (fra og med C ++ 11 standard)

int ilogb (dobbel x); int ilogb (float x); int ilogb (lang dobbel x); int ilogb (T x); // For integrert type

ilogb () Parametere

Funksjonen ilogb () tar et enkelt argument hvis ilogb beregnes.

ilogb () Returverdi

Funksjonen ilogb () returnerer den integrerte delen av logaritmen til | x |, ved å bruke FLT_RADIX som base for logaritmen.

  • Hvis argumentet er 0, returnerer det FP_LOGB0.
  • Hvis argumentet er NaN, returnerer det FP_LOGBNAN.
  • Hvis argumentet er uendelig, returnerer det INT_MAX.

Eksempel 1: Hvordan fungerer ilogb () -funksjonen i 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; ) 

Når du kjører programmet, vil utdataene være:

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

Eksempel 2: ilogb () -funksjon med integrertype

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

Når du kjører programmet, vil utdataene være:

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

Interessante artikler...