C ++ ilogb () - štandardná knižnica C ++

Funkcia ilogb () v C ++ vracia integrálnu súčasť logaritmu | x |, pričom ako základ pre logaritmus používa FLT_RADIX.

Toto je definované v hlavičkovom súbore.

Matematicky

 x = significant * FLT_RADIXexponent

significantnd je hodnota s pohyblivou desatinnou čiarkou v rozsahu (1.0, 2.0), x je argument odovzdaný ilogb () a exponent je celočíselná hodnota vrátená parametrom ilogb (). Hodnota FLT_RADIX je všeobecne 2.

Hodnota vrátená parametrom ilogb () je o jednu menšiu ako exponent vygenerovaný funkciou frexp (), pretože významná hodnota je v rozsahu (1,0, 2,0) namiesto (0,5, 1,0) ako v prípade frexp ().

ilogb () prototyp (od štandardu C ++ 11)

int ilogb (dvojité x); int ilogb (float x); int ilogb (dlhé dvojité x); int ilogb (T x); // Pre integrálny typ

Parametre ilogb ()

Funkcia ilogb () má jediný argument, ktorého ilogb je vypočítaný.

ilogb () Vrátená hodnota

Funkcia ilogb () vracia integrálnu časť logaritmu | x |, pričom ako základ pre logaritmus používa FLT_RADIX.

  • Ak je argument 0, vráti FP_LOGB0.
  • Ak je argument NaN, vráti FP_LOGBNAN.
  • Ak je argument nekonečný, vráti INT_MAX.

Príklad 1: Ako funguje funkcia ilogb () v 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; ) 

Po spustení programu bude výstup:

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

Príklad 2: Funkcia ilogb () s integrálnym typom

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

Po spustení programu bude výstup:

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

Zaujímavé články...