C ++ frexp () - Стандартна бібліотека C ++

Функція frexp () в C ++ розбиває число з плаваючою комою на своє двійкове значення.

Двійкове значення - це плаваюча точка, абсолютне значення якої (мантиса) лежить в інтервалі (0,5, 1) і цілому показнику для 2.

Функція визначена у файлі заголовка.

Математично,

x = двійкове значення і * 2 показник

де експонента зберігається у розташуванні, вказаному exp, а двійкове значення - це значення, яке повертає frexp ().

прототип frexp () (за стандартом C ++ 11)

подвійний frexp (подвійний x, int * exp); float frexp (float x, int * exp); long double frexp (long double x, int * exp); подвійний frexp (T x, int * exp); // Для цілісного типу

Функція frexp () приймає два аргументи і повертає двійкове значення та значення типу double, floatабо long double.

Параметри frexp ()

  • x - значення, яке потрібно розкласти.
  • exp - вказівник на ціле число, де слід зберігати значення показника.

frexp () Повернене значення

Функція frexp () повертає двійкове значенняі абсолютне значення якого знаходиться в інтервалі (0,5, 1). Якщо x дорівнює нулю, і значення, і показник степеня дорівнюють нулю.

повертаються значення frexp ()
Параметр (x) Двійковий ознака Експонента
0 0 0
x> = 1 Позитивні Позитивні
х <= -1 Негативні Позитивні
-1 <x <0 Негативні Негативні
0 <x <1 Позитивні Негативні

Приклад 1: Як функція frexp () працює в C ++?

 #include #include using namespace std; int main () ( double x = 6.81, significand; int *exp; significand = frexp(x , exp); cout << x << " = " << significand << " * 2^" << *exp << endl; return 0; ) 

Коли ви запускаєте програму, результат буде:

 6,81 = 0,85125 * 2 3 

Приклад 2: функція frexp () з інтегральним типом

 #include #include using namespace std; int main () ( double significand; int *exp, x = 25; significand = frexp (x , exp); cout << x << " = " << significand << " * 2^" << *exp << endl; return 0; ) 

Коли ви запускаєте програму, результат буде:

 25 = 0,78125 * 2 5 

Цікаві статті...