C ++ frexp () - C ++ standaardbibliotheek

De functie frexp () in C ++ breekt een drijvende-kommagetal in zijn binaire significantie.

De binaire significantie is een drijvende komma waarvan de absolute waarde (mantisse) in het interval (0,5, 1) ligt en een integer exponent voor 2.

De functie is gedefinieerd in het header-bestand.

Wiskundig,

x = binaire significantie * 2 exponent

waar, exponent wordt opgeslagen op de locatie aangeduid met exp en de binaire significantie de waarde is die wordt geretourneerd door frexp ().

frexp () prototype (vanaf C ++ 11-standaard)

dubbele frexp (dubbele x, int * exp); float frexp (float x, int * exp); lange dubbele frexp (lange dubbele x, int * exp); dubbele frexp (T x, int * exp); // Voor integraal type

De functie frexp () heeft twee argumenten en retourneert de binaire significantiewaarde van het type double, floatof long double.

frexp () Parameters

  • x - De waarde die moet worden ontleed.
  • exp - De pointer naar een geheel getal waar de waarde van exponent moet worden opgeslagen.

frexp () Retourwaarde

De functie frexp () retourneert de binaire significantie waarvan de absolute waarde in het interval (0,5, 1) ligt. Als x nul is, zijn zowel de significant als de exponent nul.

frexp () retourneert waarden
Parameter (x) Binair Significand Exponent
0 0 0
x> = 1 Positief Positief
x <= -1 Negatief Positief
-1 <x <0 Negatief Negatief
0 <x <1 Positief Negatief

Voorbeeld 1: hoe werkt de functie frexp () in 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; ) 

Wanneer u het programma uitvoert, is de uitvoer:

 6,81 = 0,85125 * 2 3 

Voorbeeld 2: frexp () functie met integraal type

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

Wanneer u het programma uitvoert, is de uitvoer:

 25 = 0,78125 * 2 5 

Interessante artikelen...