C ++ frexp () - C ++ standardraamatukogu

Funktsioon frexp () jaotises C ++ jagab ujukomaarvu binaarseks tähenduseks.

Binaarne tähendus on ujuv punkt, mille absoluutväärtus (mantissa) asub intervallis (0,5, 1) ja täisarvu astendina 2.

Funktsioon on määratletud päisefailis.

Matemaatiliselt,

x = binaarne tähendus * 2 eksponent

kus eksponent salvestatakse expi osutatud asukohta ja binaarne sigand on väärtus, mille tagastab frexp ().

frexp () prototüüp (standardi C ++ 11 järgi)

topelt frexp (topelt x, int * exp); float frexp (float x, int * exp); pikk topelt frexp (pikk topelt x, int * exp); topelt frexp (T x, int * exp); // Integraaltüübi korral

Frexp () funktsiooni saab kaht argumenti ja tagastab binaarne significand väärtus tüüp double, floatvõi long double.

frexp () parameetrid

  • x - lagundatav väärtus.
  • exp - osutab täisarvule, kuhu eksponendi väärtus salvestatakse.

frexp () Tagastusväärtus

Funktsioon frexp () tagastab binaarse tähenduse, mille absoluutväärtus asub intervallis (0,5, 1). Kui x on null, on nii tähendus kui ka eksponent null.

frexp () tagastusväärtused
Parameeter (x) Binaarne tähendus Eksponent
0 0 0
x> = 1 Positiivne Positiivne
x <= -1 Negatiivne Positiivne
-1 <x <0 Negatiivne Negatiivne
0 <x <1 Positiivne Negatiivne

Näide 1: Kuidas funktsioon frexp () töötab versioonis 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; ) 

Programmi käivitamisel on väljund järgmine:

 6,81 = 0,85125 * 2 3 

Näide 2: funktsioon integreeritud tüübiga 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; ) 

Programmi käivitamisel on väljund järgmine:

 25 = 0,78125 * 2 5 

Huvitavad Artiklid...