C ++ frexp () - štandardná knižnica C ++

Funkcia frexp () v C ++ rozdeľuje číslo s pohyblivou rádovou čiarkou na jeho binárny význam.

Binárny význam je plávajúca desatinná čiarka, ktorej absolútna hodnota (mantisa) leží v intervale (0,5, 1) a celočíselný exponent pre 2.

Funkcia je definovaná v hlavičkovom súbore.

Matematicky

x = binárny význam * 2 exponent

kde je exponent uložený na mieste označenom exp a binárny význam je hodnota vrátená metódou frexp ().

prototyp frexp () (od štandardu C ++ 11)

double frexp (double x, int * exp); float frexp (float x, int * exp); long double frexp (long double x, int * exp); dvojitý frexp (T x, int * exp); // Pre integrálny typ

Funkcia frexp () má dva argumenty a vracia binárnu významovú hodnotu typu double, floatalebo long double.

parametre frexp ()

  • x - hodnota, ktorá sa má rozložiť.
  • exp - Ukazovateľ na celé číslo, kde sa má uložiť hodnota exponenta.

frexp () Návratová hodnota

Funkcia frexp () vracia binárny význam, ktorého absolútna hodnota leží v intervale (0,5, 1). Ak je x nula, znaménko aj exponent sú nulové.

návratové hodnoty frexp ()
Parameter (x) Binárny význam Exponent
0 0 0
x> = 1 Pozitívne Pozitívne
x <= -1 Negatívne Pozitívne
-1 <x <0 Negatívne Negatívne
0 <x <1 Pozitívne Negatívne

Príklad 1: Ako funguje funkcia frexp () v 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; ) 

Po spustení programu bude výstup:

 6,81 = 0,85125 * 2 3 

Príklad 2: funkcia frexp () s integrálnym typom

 #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; ) 

Po spustení programu bude výstup:

 25 = 0,78125 * 2 5 

Zaujímavé články...