Funktsioon ilogb () C ++ - s tagastab | x | logaritmi lahutamatu osa, kasutades logaritmi alusena FLT_RADIX.
See on määratletud päisefailis.
Matemaatiliselt,
x = tähendusrühm * FLT_RADIXeksponent
sigandand on vahemikus (1.0, 2.0) ujukoma väärtus, x on ilogb () -le edastatud argument ja eksponent on ilogb () tagastatud täisarv. FLT_RADIX väärtus on tavaliselt 2.
Ilogb () tagastatav väärtus on üks väiksem kui funktsiooni frexp () genereeritud eksponent, kuna tähendus on vahemikus (1.0, 2.0) (0.5, 1.0) asemel, nagu frexp ().
ilogb () prototüüp (standardi C ++ 11 järgi)
int ilogb (topelt x); int ilogb (ujuk x); int ilogb (pikk topelt x); int ilogb (T x); // Integraaltüübi korral
ilogb () parameetrid
Funktsioon ilogb () võtab ühe argumendi, mille ilogb arvutatakse.
ilogb () Tagastusväärtus
Funktsioon ilogb () tagastab | x | logaritmi lahutamatu osa, kasutades logaritmi alusena FLT_RADIX-i.
- Kui argument on 0, tagastab see väärtuse FP_LOGB0.
- Kui argument on NaN, tagastab see väärtuse FP_LOGBNAN.
- Kui argument on lõpmatu, tagastab see väärtuse INT_MAX.
Näide 1: Kuidas funktsioon ilogb () töötab C ++ -s?
#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; )
Programmi käivitamisel on väljund järgmine:
ilogb (16,81) = 4 16,81 = 1,05062 * 2 4
Näide 2: funktsioon integreeritud tüübiga ilogb ()
#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; )
Programmi käivitamisel on väljund järgmine:
ilogb (19) = 4 19 = 1,1875 * 2 4