C ++ ilogb () - C ++ standartinė biblioteka

Funkcija ilogb () C ++ grąžina integralią | x | logaritmo dalį, naudodama FLT_RADIX kaip pagrindą logaritmui.

Tai apibrėžta antraštės faile.

Matematiškai,

 x = reikšmingas * FLT_RADIXeksponentas

Reikšmė yra slankiojo kablelio reikšmė diapazone (1.0, 2.0), x yra argumentas, perduotas ilogb (), o rodiklis yra ilogb () grąžinta sveiko skaičiaus vertė. FLT_RADIX vertė paprastai yra 2.

„Ilogb“ () grąžinta vertė yra viena mažesnė už rodiklį, kurį generuoja „frexp“ () funkcija, nes reikšmė yra diapazone (1.0, 2.0), o ne (0.5, 1.0), kaip frexp ().

ilogb () prototipas (Pagal C ++ 11 standartą)

int ilogb (dvigubas x); int ilogb (plūduriuojantis x); int ilogb (ilgas dvigubas x); int ilogb (T x); // integraliniam tipui

ilogb () parametrai

Funkcija ilogb () apima vieną argumentą, kurio ilogb yra apskaičiuojamas.

ilogb () Grąžinimo vertė

Funkcija ilogb () grąžina integralią | x | logaritmo dalį, naudodama FLT_RADIX kaip pagrindą logaritmui.

  • Jei argumentas yra 0, jis grąžina FP_LOGB0.
  • Jei argumentas yra NaN, jis grąžina FP_LOGBNAN.
  • Jei argumentas yra begalinis, jis pateikia INT_MAX.

1 pavyzdys: Kaip funkcija ilogb () veikia 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; ) 

Kai paleisite programą, išvestis bus:

 ilogb (16.81) = 4 16.81 = 1.05062 * 2 4 

2 pavyzdys: ilogb () funkcija su integraliniu tipu

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

Kai paleisite programą, išvestis bus:

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

Įdomios straipsniai...