La función ilogb(x) en C++ STL devuelve la parte integral del logaritmo de |x|, usando FLT_RADIX como base para el logaritmo. En general, el valor de FLT_RADIX es 2, por lo que ilogb() es equivalente a ilog2() (solo para valores positivos).
Sintaxis :
ilogb(x)
Parámetro : la función acepta un único parámetro obligatorio x cuyo ilogb() se va a calcular. El tipo de datos puede ser double, float, long double o int.
Valor devuelto: La función devuelve una parte integral del logaritmo de |x|, usando FLT_RADIX como base para el logaritmo. La función devuelve tres valores de excepción:
- Si el argumento es NaN, devuelve FP_LOGBNAN .
- Si el argumento es infinito, devuelve INT_MAX
- Si el argumento es 0, devuelve FP_LOGB0 .
Los siguientes programas ilustran la función anterior:
Programa 1 :
CPP
// C++ program to illustrate the ilogb() // function when input is an integer #include <cfloat> #include <cmath> #include <iostream> using namespace std; int main() { int result, x = 25; // Function to calculate ilogb(25) result = ilogb(x); cout << "ilogb (" << x << ") = " << result << endl; // Function to calculate ilogb(50) x = 50; result = ilogb(x); cout << "ilogb (" << x << ") = " << result << endl; return 0; }
ilogb (25) = 4 ilogb (50) = 5
Programa 2 :
Programa para tipo no integral
CPP
// C++ program to illustrate the ilogb() // function when input is a double value #include <cfloat> #include <cmath> #include <iostream> using namespace std; int main() { int result, x = 11.11; result = ilogb(x); cout << "ilogb (" << x << ") = " << result << endl; x = 41.11; result = ilogb(x); cout << "ilogb (" << x << ") = " << result << endl; return 0; }
ilogb (11) = 3 ilogb (41) = 5
Programa 3 :
CPP
// C++ program to illustrate the ilogb() // function when input is 0 #include <cfloat> #include <cmath> #include <iostream> #include <iostream> using namespace std; int main() { int result, x = 0; result = ilogb(x); cout << "ilogb (" << x << ") = " << result << endl; return 0; }
ilogb (0) = -2147483648
Publicación traducida automáticamente
Artículo escrito por IshwarGupta y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA