Funkcija frexp () u C ++-u razbija broj s pomičnim zarezom u svoj binarni znak.
Binarni znak je plutajuća točka čija se apsolutna vrijednost (mantissa) nalazi u intervalu (0,5, 1) i cjelobrojni eksponent za 2.
Funkcija je definirana u zaglavnoj datoteci.
Matematički,
x = Binarni značaj i * 2 eksponenta
gdje je eksponent pohranjen na mjestu na koje ukazuje exp, a binarni je značaj vrijednost koju je vratio frexp ().
prototip frexp () (od standarda C ++ 11)
dvostruki frexp (dvostruki x, int * exp); plutajući frexp (float x, int * exp); dugi dvostruki frexp (dugi dvostruki x, int * exp); dvostruki frexp (T x, int * exp); // Za integralni tip
Funkcija frexp () uzima dva argumenta i vraća binarno značenje i vrijednost tipa double, floatili long double.
frexp () Parametri
- x - Vrijednost koja se razlaže.
 - exp - pokazivač na cijeli broj u kojem treba pohraniti vrijednost eksponenta.
 
frexp () Povratna vrijednost
Funkcija frexp () vraća binarni znak i čija apsolutna vrijednost leži u intervalu (0,5, 1). Ako je x nula, i značenje i eksponent su nula.
frexp () povratne vrijednosti| Parametar (x) | Binarni označitelj | Eksponent | 
|---|---|---|
| 0 | 0 | 0 | 
| x> = 1 | Pozitivan | Pozitivan | 
| x <= -1 | Negativan | Pozitivan | 
| -1 <x <0 | Negativan | Negativan | 
| 0 <x <1 | Pozitivan | Negativan | 
Primjer 1: Kako funkcija frexp () radi u 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; ) 
Kada pokrenete program, izlaz će biti:
6,81 = 0,85125 * 2 3
Primjer 2: funkcija frexp () s integralnim tipom
 #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; ) 
Kada pokrenete program, izlaz će biti:
25 = 0,78125 * 2 5








