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