Функција илогб () у Ц ++ враћа интегрални део логаритма | к |, користећи ФЛТ_РАДИКС као основу за логаритам.
Ово је дефинисано у заглављу датотеке.
Математички,
к = значење и * ФЛТ_РАДИКСекпонент
сигнифицанд је вредност са покретном тачком у опсегу (1.0, 2.0), к је аргумент прослеђен илогб (), а експонент је целобројна вредност коју враћа илогб (). Вредност ФЛТ_РАДИКС је обично 2.
Вредност коју враћа илогб () је за једну мању од експонента генерисаног функцијом фрекп (), јер је значење у опсегу (1.0, 2.0) уместо (0.5, 1.0) као у фрекп ().
илогб () прототип (од Ц ++ 11 стандарда)
инт илогб (двоструки к); инт илогб (флоат к); инт илогб (дуги двоструки к); инт илогб (Т к); // За интегрални тип
илогб () Параметри
Функција илогб () узима један аргумент чији се илогб израчунава.
илогб () Повратна вредност
Функција илогб () враћа саставни део логаритма | к |, користећи ФЛТ_РАДИКС као основу за логаритам.
- Ако је аргумент 0, враћа ФП_ЛОГБ0.
- Ако је аргумент НаН, враћа ФП_ЛОГБНАН.
- Ако је аргумент бесконачан, враћа ИНТ_МАКС.
Пример 1: Како функција илогб () ради у Ц ++?
#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; )
Када покренете програм, излаз ће бити:
илогб (16,81) = 4 16,81 = 1,05062 * 2 4
Пример 2: функција илогб () са интегралним типом
#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; )
Када покренете програм, излаз ће бити:
илогб (19) = 4 19 = 1.1875 * 2 4