C ++ ilogb () - C ++ -kirjasto

C ++: n ilogb () -funktio palauttaa | x |: n logaritmin kiinteän osan käyttäen logaritmin perustana FLT_RADIX.

Tämä määritetään otsikkotiedostossa.

Matemaattisesti,

 x = merkitsevä * FLT_RADIXeksponentti

merkitsevä on vaihteluvälin arvo alueella (1.0, 2.0), x on ilogb: lle () välitetty argumentti ja eksponentti on ilogb: n () palauttama kokonaisluku. FLT_RADIX-arvon arvo on yleensä 2.

Ilogb (): n palauttama arvo on yksi pienempi kuin frexp () -funktion tuottama eksponentti, koska merkitsevä arvo on alueella (1,0, 2,0) (0,5, 1,0): n kuten frexp: ssä).

ilogb () -prototyyppi (standardin C ++ 11 mukaan)

int ilogb (kaksinkertainen x); int ilogb (float x); int ilogb (pitkä kaksinkertainen x); int ilogb (Tx); // integraalityypille

ilogb () -parametrit

Funktio ilogb () vie yhden argumentin, jonka ilogb lasketaan.

ilogb () Palautusarvo

Funktio ilogb () palauttaa | x |: n logaritmin kiinteän osan käyttäen logaritmin perustana FLT_RADIX.

  • Jos argumentti on 0, se palauttaa arvon FP_LOGB0.
  • Jos argumentti on NaN, se palauttaa arvon FP_LOGBNAN.
  • Jos argumentti on ääretön, se palauttaa INT_MAX.

Esimerkki 1: Kuinka ilogb () -toiminto toimii C ++: ssa?

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

Kun suoritat ohjelmaa, tulos on:

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

Esimerkki 2: funktio ilogb () integraalityypillä

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

Kun suoritat ohjelmaa, tulos on:

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

Mielenkiintoisia artikkeleita...