Funkcija frexp () v jeziku C ++ razbije število s plavajočo vejico v svoj binarni pomen in.
Binarni pomen je plavajoča vejica, katere absolutna vrednost (mantissa) je v intervalu (0,5, 1) in celoštevilčni eksponent za 2.
Funkcija je definirana v glavi datoteke.
Matematično,
x = binarni pomen in * 2 eksponent
kjer je eksponent shranjen na mestu, ki ga kaže exp, Binarni pomen pa je vrednost, ki jo vrne frexp ().
prototip frexp () (od standarda C ++ 11)
dvojni frexp (dvojni x, int * exp); float frexp (float x, int * exp); dolgi dvojni frexp (dolgi dvojni x, int * exp); dvojni frexp (T x, int * exp); // Za integralni tip
Funkcija frexp () vzame dva argumenta in vrne binarno vrednost in vrednost tipa double
, float
ali long double
.
parametri frexp ()
- x - Vrednost, ki jo je treba razgraditi.
- exp - kazalec na celo število, v katerem naj bo shranjena vrednost eksponenta.
frexp () Vrnjena vrednost
Funkcija frexp () vrne binarni pomen in katerega absolutna vrednost je v intervalu (0,5, 1). Če je x nič, sta tako pomen kot eksponent enaka nič.
vrnjene vrednosti frexp ()Parameter (x) | Binarni označevalec | Eksponent |
---|---|---|
0 | 0 | 0 |
x> = 1 | Pozitivno | Pozitivno |
x <= -1 | Negativno | Pozitivno |
-1 <x <0 | Negativno | Negativno |
0 <x <1 | Pozitivno | Negativno |
Primer 1: Kako deluje funkcija frexp () v jeziku 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; )
Ko zaženete program, bo rezultat:
6,81 = 0,85125 * 2 3
Primer 2: funkcija frexp () z integriranim 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; )
Ko zaženete program, bo rezultat:
25 = 0,78125 * 2 5