C ++ frexp () - C ++ szabványos könyvtár

A frexp () függvény a C ++ - ban lebegőpontos számot bináris szignifikánsára bont.

A bináris szignifikancia egy lebegőpont, amelynek abszolút értéke (mantissza) a (0,5, 1) intervallumban található, és egy egész szám kitevője 2-re.

A függvény a fejlécfájlban van meghatározva.

Matematikailag,

x = bináris szignifikancia * 2 kitevő

ahol az exponens az exp által mutatott helyen van tárolva, és a bináris szignifikancia a frexp () által visszaadott érték.

frexp () prototípus (C ++ 11 szabvány szerint)

dupla frexp (dupla x, int * exp); float frexp (float x, int * exp); hosszú dupla frexp (hosszú dupla x, int * exp); dupla frexp (T x, int * exp); // Integrál típusra

A frexp () függvény két argumentumot vesz fel, és visszaadja a típus bináris szignifikancia értékét double, floatvagy long double.

frexp () Paraméterek

  • x - A lebontandó érték.
  • exp - Egész számra mutató mutató, ahol az exponens értékét tárolni kell.

frexp () Visszatérési érték

A frexp () függvény visszaadja azt a bináris jelentést, amelynek abszolút értéke az (0,5, 1) intervallumban található. Ha x nulla, akkor a szignifikáns és az exponens egyaránt nulla.

frexp () visszatérési értékek
Paraméter (x) Bináris jelentőség Kitevő
0 0 0
x> = 1 Pozitív Pozitív
x <= -1 Negatív Pozitív
-1 <x <0 Negatív Negatív
0 <x <1 Pozitív Negatív

1. példa: Hogyan működik a frexp () függvény a C ++ nyelven?

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

A program futtatásakor a kimenet a következő lesz:

 6,81 = 0,85125 * 2 3 

2. példa: integrx típusú frexp () függvény

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

A program futtatásakor a kimenet a következő lesz:

 25 = 0,78125 * 2 5 

érdekes cikkek...